我正在尝试构建一个正则表达式中恰好匹配两次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