Zor*_*lac 1 java regex lookahead
我无法弄清楚如何使用正向前瞻创建正则表达式.我们的想法是在长字符串中为每两个字符添加两个字符串.即
"090909" => "XX09XX09XX09"
Run Code Online (Sandbox Code Playgroud)
这段代码:
String s = "090909";
String ns = s.replaceAll("(?=\\d\\d)", "XX");
Run Code Online (Sandbox Code Playgroud)
......不起作用; 输出是XX0XX9XX0XX9XX09.但是这段代码有效:
String s = "090909";
String ns = s.replaceAll("(?=09)", "XX");
Run Code Online (Sandbox Code Playgroud)
我很困惑如何为每两个字符提出一个表达前瞻性的表达方式.我错过了一些界限吗?
您可以使用以下内容:
String s = "090909";
String ns = s.replaceAll("(\\d\\d)", "XX$1");
Run Code Online (Sandbox Code Playgroud)
在(和)将创建捕获和$1访问捕获.