• Java正则总结


    正则表达式-字符类
    1. [abc]:代表a或者b,或者c字符中的一个。
    2. [^abc]:代表除a,b,c以外的任何字符。
    3. [a-z]:代表a-z的所有小写字符中的一个。
    4. [A-Z]:代表A-Z的所有大写字符中的一个。
    5. [0-9]:代表0-9之间的某一个数字字符。
    6. [a-zA-Z0-9]:代表a-z或者A-Z或者0-9之间的任意一个字符。
    7. [a-dm-p]:a 到 d 或 m 到 p之间的任意一个字符。
    /**
     * 字符类
     */
    public class RegTestDemo01 {
        public static void main(String[] args) {
            String str = "oad";
            //1.验证str是否以h开头,以d结尾,中间是a,e,i,o,u中某个字符
            System.out.println(str.matches("h[aeiou]d"));
            //2.验证str是否以h开头,以d结尾,中间不是a,e,i,o,u中的某个字符
            System.out.println(str.matches("h[^aeiou]d"));
            //3.验证str是否a-z的任何一个小写字符开头,后跟ad
            System.out.println(str.matches("[a-z]ad"));
            //4.验证str是否以a-d或者m-p之间某个字符开头,后跟ad
            System.out.println(str.matches("[a-dm-p]ad"));
        }
    }  
    正则表达式-预定义字符
    1. "." : 匹配任何字符。
    2. "d":任何数字[0-9]的简写;
    3. "D":任何非数字[^0-9]的简写;
    4. "s": 空白字符:[ 	
    x0Bf
    ] 的简写 
    5. "S": 非空白字符:[^s] 的简写
    6. "w":单词字符:[a-zA-Z_0-9]的简写
    7. "W":非单词字符:[^w]
    /**
     * 预定义字符
     */
    public class RegTestDemo03 {
        public static void main(String[] args) {
            String str = "had.";
            //1.验证str是否3位数字
            System.out.println(str.matches("\d\d\d"));
            //2.验证手机号:1开头,第二位:3/5/8,剩下9位都是0-9的数字
            String phone = "18600363521";
            System.out.println(phone.matches("1[358]\d\d\d\d\d\d\d\d\d"));
            //3.验证字符串是否以h开头,以d结尾,中间是任何一个字符
            System.out.println(str.matches("h.d"));
            //4.验证str是否是:"had."
            System.out.println(str.matches("had\."));//\. 就代表内容"."
        }
    }  
    正则表达式-数量词
    1. X? : 0次或1次
    2. X* : 0次到多次
    3. X+ : 1次或多次
    4. X{n} : 恰好n次 
    5. X{n,} : 至少n次 
    6. X{n,m}: n到m次(n和m都是包含的)
    /**
     * 数量词 
     */
    public class RegTestDemo04 {
        public static void main(String[] args) {
            String str = "1358654234567";
            //1.验证str是否是三位数字
            System.out.println(str.matches("\d{3}"));
            //2.验证str是否是多位数字
            System.out.println(str.matches("\d{2,}"));
            //3.验证str是否是手机号:1开头,第二位:3/5/8,剩下9位都是0-9的数字
            String phone = "18600363521";
            System.out.println(phone.matches("1[358]\d{9}"));
            //4.验证小数:必须出现小数点,但是只能出现1次
            String num = "4.13";
            System.out.println(num.matches("\d+\.\d+"));
            //5.验证小数:小数点可以不出现,也可以出现1次
            System.out.println(num.matches("\d+\.?\d+"));
            //6.验证小数:要求匹配:+3、+3.、+3.14、+3.14、-3
            System.out.println(num.matches("[+-]?\d+\.?\d*"));
            //7.验证qq号码:1).5--15位;2).全部是数字;3).第一位不是0
            String qq = "359614724";
            System.out.println(qq.matches("[1-9]\d{4,14}"));
        }
    }  
    正则表达式-分组括号( )
    () 分组符号
    /**
     * 分组括号
     */
    public class RegTestDemo05 {
        public static void main(String[] args) {
            String str = "DG8FV-B9TKY-FRT9J-99899-XPQ4G";
            //验证这个序列号:分为5组,每组之间使用-隔开,每组由5位A-Z或者0-9的字符组成
            System.out.println(str.matches("([A-Z0-9]{5}-){4}[A-Z0-9]{5}"));
        }
    } 
    String的split方法replaceAll方法
    public String[] split(String 切割符);
    
    /**
     * String的split方法
     * RegulationExpression regex
     */
    public class RegTestDemo06 {
        public static void main(String[] args) {
            String str = "18--4+++++567+++99------56";
            //切割字符串
            String[] split = str.split("[+-]+");
            System.out.println(Arrays.toString(split));
        }
    }
    
    
    /**
     * String的replaceAll方法
     * RegulationExpression regex
     */
    public class RegTestDemo07 {
        public static void main(String[] args) {
            String str = "jfdk432jfdk2jk24354j47jk5l31324";
            //将字符串中的数字替换为*,如果相邻都是数字,只要一个*
            String newStr = str.replaceAll("\d+", "*");
            System.out.println(newStr);
        }
    }
  • 相关阅读:
    Centos7下部署两套python版本并存环境的操作记录
    JSON格式化输出和解析工具
    利用阿里云的源yum方式安装Mongodb
    Ansible配置及常用模块总结
    VMware/KVM/OpenStack虚拟化之网络模式总结
    Mac下通过VMware Fusion安装centos虚拟机操作记录
    Supervisor (进程管理利器) 使用说明
    zabbix中配置当memory剩余不足20%时触发报警
    分布式监控系统Zabbix-3.0.3--短信报警设置
    linux下用户操作记录审计环境的部署记录
  • 原文地址:https://www.cnblogs.com/xiaozhang666/p/13268634.html
Copyright © 2020-2023  润新知