【发布时间】:2018-12-23 13:49:04
【问题描述】:
我正在尝试制作在括号中捕获表达式的正则表达式,但是当括号中有多个部分时,正则表达式会在第一次关闭时停止。一个例子会更好地解释它:
(expr) #simple, it will catch "(expr)"
(expr1(expr2)) #there is bad cuz it catches "(expr1(expr2)"
我想要“.(expr1(expr2))”
我目前正在使用这个"\\((.*?)\\)",但它并没有给我想要的东西。
【问题讨论】:
-
匹配的括号数不能用正则语言表示,所以不能用正则表达式来完成。也就是说,您可以启用急切捕获,这将捕获您的情况下的第二个括号,但会导致进一步的非预期捕获。
-
(.*) 应该是好是好