Python正则表达式:匹配嵌套括号

2024-04-29 09:55:03 发布

您现在位置:Python中文网/ 问答频道 /正文

假设我有一个包含子字符串的字符串

# the substrings and the whole string surrounded by parenthesis
string = '((substring1)(substring2))'


我想使用regex获取substring1和substring2,但遇到问题:(

这就是我现在所拥有的:

^{pr2}$


问题是,结果显示:

('(substring1)(substring2)', )


似乎正则表达式只匹配第一个左括号和最后一个右括号。。在

换句话说,匹配的正则表达式就像。。在

(    match.....    )

而不是

(    (match1)(match2)   )

如何使正则表达式捕获内部括号??在

谢谢


Tags: andthe字符串stringbyregex括号结果显示
1条回答
网友
1楼 · 发布于 2024-04-29 09:55:03
>>> re.findall('\([^()]*\)', string)
['(substring1)', '(substring2)']

需要注意的是regex不能处理任意级别的嵌套。这将有助于找到嵌套最深的项,但如果您正在寻找更复杂的东西,最好放弃regex。在

相关问题 更多 >