【发布时间】:2018-01-18 13:58:16
【问题描述】:
我有一个匹配括号内所有内容的正则表达式:
?\(.*?\)
我需要调整这个正则表达式,所以它也匹配嵌套的括号,例如:
ABC ( DEF (GHI) JKL ) MNO
在本例中应匹配 ( DEF (GHI) JKL )
【问题讨论】:
-
请问示例中的预期匹配是什么?
-
更新问题
-
假设我们有一个详细示例:
ABC (DEF (GHI) JKL) MNO (PQR) (UV (XYZ)那么答案是什么?{(DEF (GHI) JKL)、(PQR)}、{(DEF (GHI) JKL) MNO (PQR) (UV (XYZ)} 还是其他? -
您的意思是您需要删除嵌套括号内的所有子字符串吗? This solution 应该实际工作。但还有一个:
while (Regex.IsMatch(s, @"\([^()]*\)")) { s = Regex.Replace(s, @"\([^()]*\)", ""); }