Pattern p = Pattern.compile("((.)\\2*)");括号里面什么意思?
3个回答
展开全部
来晚了 我详细解释下吧啊
首先你得理解正则里“组(Group)”的概念
简单的来说就是"()"里的匹配就是一个组 组有序号 从1开始到n 可以在表达式里做引用 虽然组可以无限多 但引用只能从1-9 共 9个
序号也是有规律的 每遇到一个"("组的序号+1 也就是说 \\2代表的是 .这个组的引用
.代表任意字符 (除过 “换行符”)*代表0-无限多 所以这个表达式的意思是
匹配单一个或多个连续的字符 给你个例子体会下
Pattern p = Pattern.compile("((.)\\2*)");
String s="122aa,,,, s09";
Matcher m=p.matcher(s);
while(m.find()){
System.out.println("{"+m.group()+"}");
}
首先你得理解正则里“组(Group)”的概念
简单的来说就是"()"里的匹配就是一个组 组有序号 从1开始到n 可以在表达式里做引用 虽然组可以无限多 但引用只能从1-9 共 9个
序号也是有规律的 每遇到一个"("组的序号+1 也就是说 \\2代表的是 .这个组的引用
.代表任意字符 (除过 “换行符”)*代表0-无限多 所以这个表达式的意思是
匹配单一个或多个连续的字符 给你个例子体会下
Pattern p = Pattern.compile("((.)\\2*)");
String s="122aa,,,, s09";
Matcher m=p.matcher(s);
while(m.find()){
System.out.println("{"+m.group()+"}");
}
展开全部
匹配字符串中连续的一连串的字符
比如: abbccc
这个会匹配三个,第一个是a,第二个是bb第三个是ccc
比如: abbccc
这个会匹配三个,第一个是a,第二个是bb第三个是ccc
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
正则表达式的写法。你可以看下
追问
我知道是正则表达式的写法,不过我们不知道它是怎么解释的,还是谢谢你
追答
这个写法是匹配字符串中是否存在多个连续为2
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询