//正则表达式-------------------------------------------------------------------------------
就是一个字符串的规则,规则是由一些特殊符号组成的。
//matches(String 指定的规则);符合返回turn,false------------------------------------
预订义字符类:没有使用数量词的话表示的都是一个字符
。 任何一个字符
\d 数字[0~9]
\D 非数字[^0~9]
\s 空白字符[\t\n\x0B\f\r]
\S 非空白字符[^\s]
\w 单词字符[a-zA-z _0-9]
\W 非单词字符[^\w]
//Greedy数量词--------------------------------------------------------------------
x ? X 出现一次或零次
x * X 出现零次或多次
x + X 出现一次或多次
x{n}X 指定出现的次数
x{n,}X 至少出现n次
x{n,m}X 至少出现n次但是不超过m次。
//字符类--------------------------------------------------------------------------
范围词:如果没有数量词指的就是一个字符
[abc]:表示取中括号中的任意一个字符。
[^abc]:除了指定的字符以外。
[a-zA-Z]:表示取a~z,A~Z中的任意一个字符
[a-z&&[def]]:其中并且其中
//
| :或者
分组: (.)\\1+: 一个任意字符出现的重复次数\\1(重复利用第一组)或以上
替换String类型数组: (A(B(C)))三组
replaceAll( 查找的,替换的 )
"(.)\\1+","$1" $: 获取行的结尾
^: 获取行的开头
\b: 子字符串的边界(被隔开:空格或其他符号)
Patter类实现查找功能:
Patter p=Pattern.compile("获取表达式对象");
Matcher m=p.matcher(需要匹配的字符串);
m.find(查找子字符串);返回一个boolean类型的值,如果判断的值符合表达式返回true
m.group(返回查找的子字符串);
boolean b=m.matches(判断整个字符串是否符合要求);
*/
public static void main(String[] args) {
System.out.println(ssss("我我我我要要要去去去撩撩妹妹"));
// TODO Auto-generated method stub
// Scanner scanner =new Scanner(System.in);
// System.out.println("随意输入");
// String string=scanner.next();
// System.out.println(string.matches("\\w{4}\\d{4}"));
// boolean a=string.matches("\\w{4}\\d{4}");
// if(a){
// System.out.println("当前:");
// }else{
// System.out.println("输入错误");
// }
//
}
public static String ssss(String s){
return s.replaceAll("(.)\\1+","$1");
}
}