* 作用:用于专门操作字符串
* 特点:用于一些特定的符号来表示一些代码操作。这样就简化书写。
* 所以学习正则表达式,就是在学习一些特殊符号的使用。
* 好处:可以简化对字符串的复杂操作
* 弊端:符号定义越多,正则越长,阅读性越差。
*
* 具体操作功能:
* 1,匹配:String matches方法。用规则匹配整个字符串,只要有一处不符合规定,就匹配结束,返回false。
* 2,切割:String split();
* 3,替换:String replaceAll();
public class RegDemo {
public static void main(String[] args) {
checkTel();
//splitDemo("zhangsan.lisi.wangwu"," +");//按照多个空额来进行切割
//splitDemo("zhangsan.lisi.wangwu","\\.");//以"."切割
//splitDemo("c:\\abc\\a.txt","\\\");//以"\"切割
//splitDemo("erkktyqquzzzzzzzio","(.)\\1+");//以叠词切割。为了可以让规则的结果被重用
//可以将规则封装成一个组。用()完成。组的出现都有编号。
//从1开始先要使用已有的组,可以通过\n的形式来获取
String str = "woi13099800003ej234fiejf4332iew";//将字符串中的数字替换成#。
replaceAllDemo(str,"\\d{5}","#");
String str1 = "fjioejfioiiiifjeioowooowop9994fj";//将叠词替换成&号。//将重叠的字符替换成单个字母。zzzz->z
replaceAllDemo(str1,"(.)\\1+","$1");
}
public static void splitDemo(String str,String reg){
String[] arr = str.split(reg);
System.out.println(arr.length);
for(String s : arr){
System.out.println(s);
}
}
public static void checkTel(){
String tel = "13900001111";
String telReg = "1[358]\\d{9}";
System.out.println(tel.matches(telReg));
}
public static void replaceAllDemo(String str,String reg,String newStr){
str = str.replaceAll(reg, newStr);
System.out.println(str);
}
}