(.)1+在java中的正则含义是什么
表⽰匹配连续的多个相同的任意字符,只要到字符串⾥⾯存在连续的两个或者以上的相同字符即匹配。
括号中的点表⽰任意字符,后⾯的\\1表⽰取第⼀个括号匹配的内容,后⾯的加号表⽰匹配1次或1次以上,⼆者加在⼀起就是某个字符重复两次或两次以上。
/**
* 1.将下⾯的国家重叠的字符替换成竖线 |
* ChinaqqqAmericahhhhhEnglandaaaaaaMexica
*/
@Test
public void test1()
{
String str="ChinaqqqAmericahhhhhEnglandaaaaaaMexica";
//(.)\\1+:表⽰匹配连续的多个相同的任意字符,只要到字符串⾥⾯存在连续的两个或者以上的相同字符即匹配。
System.out.placeAll("(.)\\1+", "|"));//China|America|England|Mexica
}
/**
* 2.将下⾯的国家重叠的字符替换成⼀个, 也就是去掉重复的分隔符
* China|||||America::::::England&&&&&&&Mexica
*/
@Test
public void test2()
{
String str="China|||||America::::::England&&&&&&&Mexica";
//(.)\\1+:表⽰匹配连续的多个相同的任意字符,只要到字符串⾥⾯存在连续的两个或者以上的相同字符即匹配。
System.out.placeAll("(.)\\1+","$1"));//China|America:England&Mexica
replaceall()}
@Test
public void test3(){
String regex = "(.)\\1+";
Pattern pattern = Patternpile(regex);
String address="京东号";
System.out.println(pattern.matcher(address).find());//false
address="阿⾥巴巴号";
System.out.println(pattern.matcher(address).find());//true
}

版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。