我正在尝试使用正则表达式提取嵌套括号内的所有单词。这是我的.txt
文件的示例:
hello ((
(alpha123_4rf)
45beta_Frank))
Red5Great_Sam_Fun
我已经用正则表达式尝试过此操作:
r'[\((?\(??(^\()?\))]'
,但无法获得所需的输出。我希望我的输出像这样:
((
(alpha123_4rf)
45beta_Frank))
我在做什么错?任何帮助将不胜感激!
答案 0 :(得分:1)
尝试此模式.
说明:
\(
-标志:单行模式-(
也匹配换行符
[^(]*
-从字面上匹配(
\(
-匹配零个或多个(
以外的字符
(.+)
-从字面上匹配\)
)
-匹配任何字符中的一个或mroe并将其存储在第一个捕获组中
[^)]*
-从字面上匹配)
\)
-匹配零个或多个)
以外的字符
PYTHONPATH
-从字面上匹配python -version
答案 1 :(得分:1)
如果这些双环环环相扣,那么这个更简单的解决方案也可以做到:
def find_brackets(text):
rx = "(?s)\(\((.+)\)\)"
z = re.search(rx,text)
if z:
return z[0]
else:
return ''