正则表达式

  1. 什么是正则表达式?
    1. 正则表达式是一个字符串,它的作用是描述另一个字符串的规则!
  2. 正则表达式的内容:
    1. 字符内容:
      • abc: 直接写的内容是需要完全匹配的
      • [abc]: 中括号表示是一个字符, 表示的内容可以是这个中括号中的一个
      • [^abc]: 表示该字符不能是abc中的一个
      • a|b: 表示该字符可以是a或b, 不能有中括号
      • [a-z]: 表示该字符可以是在a-z范围内的一个字符, 不能反顺序写
      • [0-9]: 表示该字符可以是在0-9范围内的一个字符
      • [^a-z]: 表示该字符不能在a-z的范围内
      • \d: 表示的是[0-9] 注意, 在双引号中必须写\\d
      • \D: 表示的是[^0-9] , 表示内容不能是数字
      • \w: 表示的是[A-Za-z0-9_]
    1. \W: 表示的是[^A-Za-z0-9_]
    2. 数量词
      • {N}: 代表前面这个字符出现了N次
      • {N,M}: 代表前面的内容可以出现N-M次
      • {N, }: 代表前面的内容出现N次或以上
      • *: 代表前面的内容出现0次以上
      • +: 代表前面的内容出现1次以上
      • ?: 代表前面的内容出现0次或者1次
    3. 分组:   ((abc)(cd)(eefg))\\2\\1{2}
      • 以小括号来进行分组: (abc)cd\\1 == abccdabc
      • 有几个左小括号就有几个组
      • 第几个左小括号,就是第几组
    4. 字符串中支持正则的方法:
      • matches():判断字符串是否完全匹配正则的
      • split(regex): 使用符合正则的内容去切割字符串
      • replaceAll(regex,content): 把字符串中匹配正则的内容替换成指定的内容
      • repalceFirst(): 把字符串中第一个符合正则的内容替换成指定的内容
    5. 支持正则的类
      • Pattern: 正则对象, 用于跟字符串内容进行匹配
        1. 获取对象的方式: Pattern p = Pattern.compile(regex);
      • Matcher: 匹配器对象, 用于查找匹配的字符串
        1. 获取对象的方式: Matcher m = p.matcher(字符串);
        2. 判断是否有符合正则的内容: boolean b = m.find()
        3. 获取符合正则的内容:  String res = m.group();
    6. 手机号码正则校验: String regex = "1[1356789]\\d{9}";
    7. 代码示例:

String content = "我在上小学的时候已经会用电脑了,然后注册了我的第一个邮箱x  iaoxuesheng@qq.com, 后来长大了,这个邮箱太low了,又注册了一个  gaozhongsheng@163.com,   后来这个邮箱被盗了,只能重新注册一    个,zhuangbi@phone.com,现在工作了, 有了一个新的邮 箱,nb@126.com";

       

        String regex = "\\w+@\\w+(\\.[a-z]+)+";//邮箱的正则表达式

        //把正则封装成对象

        Pattern p = Pattern.compile(regex);

        //使用正则对象去匹配字符串中的内容, 得到一个匹配器对象

        Matcher m = p.matcher(content);

            //判断是否有查找到符合正则的内容

        while(m.find()) {

            String res = m.group();//调用方法,获取查找到的内容

            System.out.println(res);

        }

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值