不情愿量词贪婪

这个问题在这里已经有了答案:

  • 我的正则表达式匹配得太多了。 我如何让它停止? 4个答案

  • 在正则表达式中{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