?=是匹配相应的字符串并且不替换
我们举一个例子,
String str="ssasss";
我们想把其中的a改成b
那么我们直接replaceAll("a","b");就好了。
如果我想把其中的a改成ba呢?
你或许会说replaceAll("a","ba");就可以了。。确实,这样确实没问题。
但是我其实本意并不是想替换a的,我只是想在a前面插入一个b而已。按照这种思路应该怎么写呢?
这时候就用到?=
String replace = str.replaceAll("(?=a)","b");
这样应该就可以了。结果显示为:ssbasss
那么如果我想在a的后面插入一个b呢?
String replace = str.replaceAll("(?<=a)","b");
就可以了。
原文链接:https://www.f2er.com/regex/362367.html