匹配括号内的所有内容(嵌套括号)

时间:2018-01-18 13:58:17

标签: c# regex

我有一个匹配括号内所有内容的正则表达式:

 ?\(.*?\)

我需要调整此正则表达式,因此它也匹配嵌套括号,例如:

ABC ( DEF (GHI) JKL ) MNO

在此示例中应匹配(DEF(GHI)JKL)

2 个答案:

答案 0 :(得分:2)

要匹配( DEF (GHI) JKL )中的ABC ( DEF (GHI) JKL ) MNO,您应该在示例正则表达式中将.*?更改为.*

\(.*\)

.*?很懒 - 它会匹配最短的字符串;

.*贪婪 - 它会匹配最长的字符串。

答案 1 :(得分:1)

如果你想匹配:

ABC (DEF(GHI)JKL) MNO

这有效:

?\(.*\)

参考:https://regex101.com/r/5Y5ZM0/2

编辑:更新了@GameDroids

的较短工作版本