不灭的焱

革命尚未成功,同志仍须努力

作者:php-note.com  发布于:2019-02-04 16:01  分类:Java基础 

1、在 Java 字符串的:

public String replaceFirst(String regex, String replacement)
public String replaceAll(String regex, String replacement)

两方法的第二个参数中是可以用 $1, $2 ... 来引用第一个参数的括号分组的,简单 Java 示例代码如下:

"abc def".replaceFirst("(\\w+)\\s+(\\w+)", "$2 $1");  // 结果为 def abc
"abc def aaa bbb".replaceAll("(\\w+)\\s+(\\w+)", "$2 $1");  // 结果是 def abc bbb aaa

 

2、在正则表达式外是用 $1, $2 ... 来进行 后向引用,如果是在正则表达式中就需要用 \1, \2 ... 的形式来进 后向引用

下面例子,替换重复出现的两位数及之间的内容:

"xx12abcd12345".replaceAll("(\\d{2}).+?\\1", "");  // 结果为 xx345