zoukankan      html  css  js  c++  java
  • JAVA基础-正则表达式

    正则表达式:符合一定规则的表达式
    作用:用于专门操作字符串
    特点:用于一些特定的符号来表示一些代码操作,这样简化书写
    学习正则表达式,就是了解特殊符合的使用

    好处:可以简化对字符串的复杂操作
    弊端:符合定义越多,正则越长,阅读星越差

    具体操作功能
    1.匹配:String matches方法,用规则匹配整个字符串,只要有一处不符合规则,就匹配结束,返回flase

    2.切割 String split方法

    3 替换:replace replaceAll

    4.获取:将字符串中符合规则的子串取出。
    操作步骤:
    1.将正则表达式封装成对象
    2.让正则对象和要操作的字符串相关联
    3.关联后获取正则匹配引擎
    4.通过引擎对符合规则的字符串进行操作,比如取出。



    import java.util.regex.*;
    
    class regexDemo 
    {
        public static void main(String[] args) 
        {
            String qq="12465";
            String regex="[1-9][0-9]{4,14}";
            //System.out.println(qq.matches(regex));
            //demo();
            //splitDemo();
            //replaceAllDemo();
             myregex();
        }
        public static void demo(){
            String str="b";
            String reg="[bcd]";
            System.out.println(str.matches(reg));
            String str1="b8";
            String reg1="[bcd]\d";
            System.out.println(str1.matches(reg1));
    
        }
        public static void splitDemo(){
            String str="erkktyqqquizzdo";
            String reg="(.)\1+";//按照叠词完成切割,为了可以让规则的结果被重用
                                //可以将规则封装成一个组,用()完成,组的出现都有编号
                                //从1开始,想用使用已有的组可以通过
    (n是组的编号)的形式来获取
            String[] arr=str.split(reg);
            for(String s:arr){
                System.out.println(s);
            }
        }
    
        public static void replaceAllDemo(){
            String str="wer461561685er6546515ere654131";
            String reg="\d{5,}";
            String newStr="#";
            //用$符号获取前面的组
            String str1="aaddfcfgdsssdf";//将重叠的字母替换成一个
            String reg1="(.)\1+";//相同的字符出现两次或多次
            String newStr1="$1";
            
            //System.out.println(str.replaceAll(reg,newStr));
            System.out.println(str1.replaceAll(reg1,newStr1));
        }
        public static void myregex(){
            String str="ming tian yao qu shang ban le ";
    
            String reg="[a-z]{3}";
            //将规则封装成对象。Pattern无构造方法,使用complie获取对象
            Pattern p=Pattern.compile(reg);
            
            //让正则对象和要作用的字符串相关联.获取匹配器对象
            //其实String类中的matches方法,用的就是Pattern和Mathcher。
            //只是提供的功能单一,如果使用更复杂的操作就需要使用Pattern和Matcher类
            Matcher m=p.matcher(str);
            
            //将规则作用到字符串,并进行符合规则的子串查找
            //boolean b=m.find();
            
            //用于匹配后的结果。必须进行匹配查找才可以
            //System.out.println(m.group());
            
            //取出方式,先find,在group。
            while(m.find()){
                System.out.println(m.group());
            }
            
    
        }
    }
  • 相关阅读:
    java 的 线程池应用和实践
    拦截信息短信息并转发到指定手机
    分享 UC优视 的android程序员面试题
    解释通讯协议中的xml
    设计模式工厂模式
    MongoDB基础教程系列第一篇 进入MongoDB世界
    Docx组件读写Word文档介绍
    [转]Oracle数据库逻辑增量备份之exp/imp
    JSON文件读取
    JAVA综合--如何掌握JDK1.5枚举类型[转]
  • 原文地址:https://www.cnblogs.com/chun2015/p/4947304.html
Copyright © 2011-2022 走看看