符号
. :除了换行符号之外的任一字符
? :字符出现一次或零次
* :字符出现零次或多次
+ :字符出现一次或多次
^ :非,比如[^a]-->除了a之外的其他字符
\d :数字,[0-9] \D :除了数字之外的其他字符
\w :数字字母下划线 \W与\w相反
\s :空字符 \可以将有意义的字符转换成无意义的,直接其本身
{} :匹配次数,{3}匹配3次,{3,}匹配至少3次,{3,9}匹配3-9次
[] :匹配括号里面的任意一个字符
| :或,a|b,字符a或者字符b
() :表示一个整体
[\u4e00-\u9fa5] 匹配汉字的
正则表达式的应用
String input="我我我、、、我我、、我、我要要、、、要要要、、要要、、学学学、、、、学学、、、学编编编、、编编编程、、";
input=input.replaceAll("、", "");
System.out.println(input);
String regex="([\\u4e00-\\u9fa5])(\\1*)";
Pattern pattern = Pattern.compile(regex);
Matcher matcher=pattern.matcher(input);
//find方法匹配字符串,可以在任何位置,返回值为布尔类型,可以用来进行循环匹配输出
while(matcher.find()) {
//不加参数的group方法返回所匹配的字符串
// System.out.println(matcher.group());
//加参数的group方法返回对应的组,按照()分组,比如(这是第一组)(这是第二组)
System.out.print(matcher.group(1));
}