我需要一个正则表达式来选择左括号右括号之间的所有文本。
示例:
xxxxxxx (Regular Expression) xxxxxxx( One ) xxxxxxx(One Word ) xxxxxxx ( Two Word)
1) xxxxxxx(lowercase)
2) xxxxxxx(UPPERCASE)
结果应为:
备注: xxxxxxx是任何字符
谢谢。
答案 0 :(得分:1)
可以提供帮助的python代码。
>>> import re
>>> s = """xxxxxxx (Regular Expression) xxxxxxx( One ) xxxxxxx(One Word ) xxxxxxx ( Two Word)
... 1) xxxxxxx(lowercase)
... 2) xxxxxxx(UPPERCASE)"""
>>> re.findall("([A-Za-z]+ {0,1}\(.*?\))", s, re.MULTILINE)
['xxxxxxx (Regular Expression)', 'xxxxxxx( One )', 'xxxxxxx(One Word )', 'xxxxxxx ( Two Word)', 'xxxxxxx(lowercase)', 'xxxxxxx(UPPERCASE)']
>>>
"([A-Za-z]+ {0,1}\(.*?\))"
是正在使用的正则表达式。
[A-Za-z]+
表示A-Z或a-z中任何字符的一个或多个出现.*
表示一个字符,然后出现零个或多个字符。?
表示非贪婪的方式。\(
& /)
被反击,因为我们也想要匹配它们。答案 1 :(得分:0)
试试这个:
[^\(\)]*\([^\)]*\)
这是现场演示:
或者,如果您需要在括号内显式访问内容,并且括号内的内容使用以下regexp,该名称为正确的组提供名称:
(?<outpar>[^\(\)]*)\((?<inpar>[^\)]*)\)
这也是它的现场演示: