我正在遍历模板字典进行替换。字典中的值如下所示:
foo{sub1}{sub2}bar{sub3}
其中
foo
,bar
和subN
可以是任何随机文本(不包含大括号字符)。我正在尝试在列表中标识
{sub1}
,{sub2}
和{sub3}
。我可以自己解析字符,但假设有一个1-liner解决方案。有人看到吗?
最佳答案
>>> re.findall('{.*?}', 'foo{sub1}{sub2}bar{sub3}')
['{sub1}', '{sub2}', '{sub3}']
findall查找...所有出现的模式并返回一个列表。如果需要迭代器,请使用finditer。
但是请注意,如果您的字符串包含
{abc{def}}
之类的内容,则该模式将不起作用。