正则表达式


 * 作用:用于专门操作字符串
 * 特点:用于一些特定的符号来表示一些代码操作。这样就简化书写。
 * 所以学习正则表达式,就是在学习一些特殊符号的使用。
 * 好处:可以简化对字符串的复杂操作
 * 弊端:符号定义越多,正则越长,阅读性越差。
 *
 * 具体操作功能:
 * 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);
    }


}
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值