我正在遍历模板字典进行替换。字典中的值如下所示:

foo{sub1}{sub2}bar{sub3}


其中foobarsubN可以是任何随机文本(不包含大括号字符)。

我正在尝试在列表中标识{sub1}{sub2}{sub3}。我可以自己解析字符,但假设有一个1-liner解决方案。

有人看到吗?

最佳答案

>>> re.findall('{.*?}', 'foo{sub1}{sub2}bar{sub3}')
['{sub1}', '{sub2}', '{sub3}']


findall查找...所有出现的模式并返回一个列表。如果需要迭代器,请使用finditer

但是请注意,如果您的字符串包含{abc{def}}之类的内容,则该模式将不起作用。

10-05 20:38
查看更多