不情愿量词贪婪
这个问题在这里已经有了答案:
在正则表达式中{1}
是多余的,因为任何没有指定量词的元素都需要被找到一次。 也使它不情愿没有意义,因为它没有描述可能重复的范围(如{min,max}
,其中添加?
会告诉regex引擎使该范围内的重复次数尽可能接近min
)。 这里{n}
描述了精确的重复次数,所以min
= max
= n
。
现在,您应该可以通过使.+
(括号内的内容)不愿意来解决您的问题。 要这样做,请使用.+?
。
所以试试:
String regex = "(((|[)(.+?)()|]))";
链接地址: http://www.djcxy.com/p/13431.html
上一篇: Reluctant quantifier acting greedy
下一篇: Why are greedy quantifiers less expensive than lazy quantifiers