小编use*_*372的帖子

Java正则表达式错误 - 使用组引用进行后瞻

我正在尝试构建一个正则表达式中恰好匹配两次char的正则表达式.这是我制作的正则表达式:

(?<!\1)([^raol1c])\1(?!\1)
Run Code Online (Sandbox Code Playgroud)

正如你所看到的,它使用了前瞻和后方的底片.但是,像往常一样,后者不起作用; 当它明显具有最大长度(恰好是一个字符)时,java抛出众所周知的异常"后视组没有明显的最大长度".

理想情况下,正则表达式应匹配"hh","jhh","ahh","hhj","hha"而不是"hhh".

有关如何处理此问题并制定解决方法的任何想法?

java regex backreference negative-lookbehind negative-lookahead

6
推荐指数
1
解决办法
561
查看次数