Pattern p = Pattern.compile("((.)\\2*)");括号里面什么意思?

来源:学生作业帮助网 编辑:作业帮 时间:2024/04/28 18:43:11
Pattern p = Pattern.compile(

Pattern p = Pattern.compile("((.)\\2*)");括号里面什么意思?
Pattern p = Pattern.compile("((.)\\2*)");括号里面什么意思?

Pattern p = Pattern.compile("((.)\\2*)");括号里面什么意思?
来晚了 我详细解释下吧啊
首先你得理解正则里“组(Group)”的概念
简单的来说就是"()"里的匹配就是一个组 组有序号 从1开始到n 可以在表达式里做引用 虽然组可以无限多 但引用只能从1-9 共 9个
序号也是有规律的 每遇到一个"("组的序号+1 也就是说 \\2代表的是 .这个组的引用
.代表任意字符 (除过 “换行符”)*代表0-无限多 所以这个表达式的意思是
匹配单一个或多个连续的字符 给你个例子体会下
\x09\x09Pattern p = Pattern.compile("((.)\\2*)");
\x09\x09String s="122aa, s09";
\x09\x09Matcher m=p.matcher(s);
\x09\x09while(m.find()){
\x09\x09\x09System.out.println("{"+m.group()+"}");
\x09\x09}