我正在尝试不区分大小写的模式匹配。为了学习,我尝试了以下内容,发现很难分析正在发生的事情。
String x = "Hello";
String pattern = "(?i)";
System.out.println(x.replaceAll(pattern, "</code>"));
输出
</code>H</code>e</code>l</code>l</code>o</code>
有人可以解释一下这种行为吗
答案 0 :(得分:3)
使用(?i)
裸相当于匹配case-insensitive
空字符串
您需要在(?i)
之后添加一些内容,以便将不区分大小写的内容应用于..
这就是为什么此模式匹配每个空字符串after each character
和also before the first character
,并将其替换为: - </code>
答案 1 :(得分:1)
该模式不匹配,每个角色的任何一侧都没有任何东西:)
(嗯,实际上有很多不一致,但每个索引只能有一个匹配。)