正则表达式

目录

1.正则表达式

2.案例


1.正则表达式

正则表达式是由一些具有特殊含义的字符组成的字符串,多用于查找、替换符合规则的字符串。在String类中的matches()方法中来对字符串设置判断规则,返回的结果是true or false
   主要的判定标准,代码如下:

public static void main(String[] args) {

         /*
          正则 表达式
            规则
            是一种字符串模式匹配语言
            指定规则: 手机号规则  \\d

            注册账号
              手机号  152223423423  11位  数字  以1开头  --- 格式
              邮箱    wrwuert7254632@re23.com
         */
  /*
             . 任何字符(与行结束符可能匹配也可能不匹配)
            \d 数字:[0-9]
            \D 非数字: [^0-9]
            \s 空白字符:[ \t\n\x0B\f\r]
            \S 非空白字符:[^\s]
            \w 单词字符:[a-zA-Z_0-9]
            \W 非单词字符:[^\w]
            X? X,一次或一次也没有
            X* X,零次或多次
            X+ X,一次或多次
            X{n} X,恰好 n 次
            X{n,} X,至少 n 次
            X{n,m} X,至少 n 次,但是不超过 m 次
            X|Y X 或 Y
         */

        //如制定一个手机号规则  首位必须为1第二位必须是3,5,7,8中的任意一位手机号位数必须是11位

        String s1 = "13571121819";
        String s2 = "14571121819";
        System.out.println(s1.matches("1[3578]\\d{9}"));  //true
        System.out.println(s2.matches("1[3578]\\d{9}"));  //false
        //注:容易出错的问题[]中不能有“,”号,不要把“\”  打成“/”

        //qq 数字  6--12  第一位没有0
        boolean qq1 = "012345".matches("[1-9]\\d{5,11}");
        boolean qq2 = "112345".matches("[1-9]\\d{5,11}");
        System.out.println(qq1);  //false
        System.out.println(qq2);  //true


        //X?,X*,X+ ...的用法
        String s = "13566268888";
        //boolean res = s.matches("\\d?");//一次或一次也没有
        //boolean res = s.matches("\\d*");//0次或一次也没有
        //boolean res = s.matches("\\d+");//一次或多次
        //boolean res = s.matches("\\d{n}");//恰好 n 次
        //boolean res = s.matches("\\d{1n,}");//至少 n 次
        //boolean res = s.matches("\\d{n,m}");//至少 n 次,但是不超过 m

           //正则表达式的一些使用方式
        //boolean res =  "fshdfT^&&%&".matches("\\D+");
        //boolean res =  "3  ".matches("\\d\\s+");
        //boolean res =  "daa".matches("[a-z]+");
        //boolean res =  "ASAS".matches("[A-Z]+");
        //boolean res =  "ASsdeaAS".matches("[A-z]+");
        //boolean res =  "ASsde232aAS".matches("[A-z,0-9]+");
        //boolean res =  "ASsde232_a_AS".matches("\\w+");
        //System.out.println(res);
    }

2.案例

制定手机号和QQ号码规则

 //手机号格式规则
        String s = "13566268888";
        boolean res = s.matches("1[356789]\\d{9}");
        System.out.println(res);

        //qq 数字  6--12  第一位没有0
        boolean qq =  "012345".matches("[1-9]\\d{5,11}");
        System.out.println(qq);

制定邮箱规则

 //制订邮箱的规范
        boolean res1="dfgd3AA73@163qq.com.com".matches("\\w{6,9}@\\w{2,5}\\.(com|com.cn)");
        boolean res2="dfgd3AA73@163qq.com.cn".matches("\\w{6,9}@\\w{2,5}\\.(com|com.cn)");
        System.out.println(res1);   //false
        System.out.println(res2);   //true
        //注.的使用时要用\\.对.进行转义 不然会出现误判因为在正则表达式规则里直接使用.代表的意思是任意字符

注:.的使用时要用\\.对.进行转义不然会出现误判因为在正则表达式规则里直接使用.代表的意思是任意字符

最后,觉得有用的话,可以点赞、收藏,加关注哟,要不下次就找不见了哟!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值