【发布时间】:2019-11-16 08:37:55
【问题描述】:
我正在尝试使用正则表达式提取嵌套括号内的所有单词。这是我的.txt 文件的示例:
hello ((
(alpha123_4rf)
45beta_Frank))
Red5Great_Sam_Fun
我已经用正则表达式试过了:
r'[\((?\(??(^\()?\))]'
但未能获得所需的输出。我希望我的输出是这样的:
((
(alpha123_4rf)
45beta_Frank))
我做错了什么?非常感谢任何帮助!
【问题讨论】:
-
如果你想要任意数量的嵌套括号,你需要子表达式调用,但
re模块不支持。你可以使用第三方regex模块 -
@Sundeep hm...什么是第三方
regex?对不起,因为我在 python 中处于新手级别 -
是的,在上面的链接问题中,
regex模块有一个解决方案。regex.findall(r'\((?:[^()]++|(?0))++\)', s)适用于任何级别的嵌套
标签: python regex python-3.x