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