1
3
如果您将捕获组从负面外观中删除,那么它似乎可以编译。我甚至不知道他们的意图是什么,或者在消极的背后,捕获小组应该做什么。这是故意的吗? 编辑以澄清:
这个
去掉所有的括号,你就不会再得到错误了。。。更不用说它们是不必要的:
例如,上面的部分可以正常工作。如果您确实需要在负数look back中使用括号,那么应该使用非捕获组,如“(?:mypattern)”。在这个简单的例子中,它们实际上并没有为您做任何事情,而且双精度{0,1}有点多余。
因此,我试图让您更复杂的示例工作,即使切换到非捕获组也无法消除Java正则表达式的混乱。解决这个问题的唯一方法似乎是按照评论中的建议,去掉{0,6}。
…做同样的事,但要丑陋得多。 在这种情况下,正则表达式可能不是完整的答案,而只是需要多次传递的更大解决方案的一部分。 |