Skip to main content
 首页 » 编程设计

python之如何在字符串中找到匹配的大括号

2025年05月04日45bonelee

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

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}} 的内容,该模式将不起作用。