String str1 = "erkktyqqquizzzzzo";
replaceAllDemo(str,"\\d{5,}","#");
replaceAllDemo(str1,"(.)\1+","$1");
请问在这个java正则表达式中"#"和"$1"代笔什么含义不太明白 请大神指点 谢谢
#没有特殊含义,只是替换后的文本
$1代表分组,在你的程序里面代表1前面的任意字符,你的正则表达式的意思是将111...前面的任意字符替换掉。
#就是字符,不是正则表达式的关键字
$1是第一个分组
$1
代表捕获组 (.)
的捕获值
(.)\1+
捕获类似于一个字符重复出现2次以上,比如 aa
bbb