我想在Java中使用负向先行断言,但我无法仅将其应用于文本的某些部分。它从光标处到结尾使用。有办法可以解决吗?
示例: 我有一个包含不定数量“ab”的字符串:ababJJJababab
我希望只对没有“ab”内容的中心部分进行分组(即JJJ)。所以这是我的正则表达式:
^(?:ab)*((?!.*ab.*).*)(?:ab)*$
问题在于负向先行断言超出了其容器组,试图避免直到文本末尾的 'ab'(这将导致根本找不到任何匹配项)。 请注意,我的实际问题更加复杂,我不是在寻找这个特定示例的解决方法。是否有一种方式来分配某种边界,以定义正则表达式中先行断言适用的范围,并避免其应用于文本的余下部分? 提前感谢...