Python 正则表达式 : To capture all words within nested parentheses

标签 python regex python-3.x

我正在尝试使用正则表达式提取嵌套括号内的所有单词。这是我的 .txt 文件的示例:

hello ((

(alpha123_4rf)
45beta_Frank))
Red5Great_Sam_Fun

我已经用正则表达式尝试过:

r'[\((?\(??(^\()?\))]'

但未能获得所需的输出。我希望我的输出是这样的:

((

(alpha123_4rf)
 45beta_Frank))

我做错了什么?非常感谢任何帮助!

最佳答案

尝试这个模式(?s)\([^(]*\((.+)\)[^)]*\)

说明:

(?s) - 标志:单行模式 - . 还匹配换行符

\( - 字面上匹配 (

[^(]* - 匹配 (

以外的零个或多个字符

\( - 字面上匹配 (

(.+) - 匹配一个或多个任意字符并将其存储在第一个捕获组内

\) - 字面匹配 )

[^)]* - 匹配 ) 之外的零个或多个字符

\) - 字面匹配 )

Demo

关于Python 正则表达式 : To capture all words within nested parentheses,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/58888951/

相关文章:

python - 单字节异或密码(python)

python - 判断闰年

python - 检查mongodb中的日期时间对象是否为UTC格式或来自python

python - 带有嵌套列表的列表理解中的条件语句(Python 3) :

python - 排除\S正则表达式匹配中的字符

java - 密码验证不允许在屏幕末尾出现特殊字符

python-3.x - geopandas 没有找到多边形中的点,即使它应该找到?

Python - 在父类(super class)方法中创建类实例

mysql - 从 MySQL 数据库中删除具有特定域的 URL

python - 如何使列表理解更具可读性?