0

我想将一个期望参数字典的字符串转换为期望字典的键列表,例如 find f 这样:

f("some text %(foo)s %(bar)s") == ['foo', 'bar',] # True

有什么办法吗?

4

2 回答 2

1

喜欢

>>> import re
>>> re.findall("%\(([^\)]+)\)[sif]", "some text %(foo)s %(bar)s", re.M)
['foo', 'bar']

[sif]部分可以使用http://docs.python.org/library/stdtypes.html#string-formatting-operations上的表中的符号进行扩展

于 2012-06-29T14:33:55.287 回答
0

这个怎么样:

>>> S = "some text %(foo)s %(bar)s"
>>> print re.findall(r'%\((.*?)\)', S)
['foo', 'bar']
于 2012-06-29T14:30:15.550 回答