ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

Java正则表达式

2022-08-01 14:34:36  阅读:154  来源: 互联网

标签:Java 正则表达式 System matches println false true out


Java正则表达式

1. 正则表达式-匹配字符类

  • -[abc]: 匹配a或者b或者c中的任意一个字符;
  • -[^abc]: 匹配除a,b,c以外的任意一个字符;
  • -[a-z]: 匹配a到z之间的任意一个字母(小写,包含a和z);
  • -[A-Z]: 匹配A到Z之间的任意一个字母(大写,包含A和Z);
  • -[0-9]: 匹配0-9之间的任意一个数字字符;
  • -[a-ce-g]: 匹配a到c,e-g之间的任意一个字符;
  • -[a-ce-g0-5]: 匹配a到c,e-g,0-5之间的任意一个字符;
点击查看代码
public static void main(String[] args) {
        System.out.println("a".matches("[abc]"));  //true
        System.out.println("a".matches("[^abc]")); //false
        System.out.println("a".matches("[a-z]"));  //true
        System.out.println("a".matches("[A-Z]"));  //false
        System.out.println("0".matches("[0-9]"));  //true
        System.out.println("a".matches("[a-ce-g]"));//true
        System.out.println("d".matches("[a-ce-g]"));//false
        System.out.println("5".matches("[a-ce-g0-5]"));//true
        System.out.println("a1d".matches("a[0-9]d"));  //true 以a开头,以d结尾,中间一位数字
    }

2. 正则表达式-匹配逻辑运算符

  • &&:且
  • | :或

3. 正则表达式-预定义字符

  • "." : 匹配任何字符。如果要表示一个字符点,使用\.
  • "\d":任何数字[0-9]的简写;
  • "\D":任何非数字[^0-9]的简写;
  • "\s":空白字符:[ \t\n\x0B\f\r] 的简写
  • "\S":非空白字符:[^\s] 的简写
  • "\w":单词字符:[a-zA-Z_0-9]的简写
  • "\W":非单词字符:[^\w]
点击查看代码
public static void main(String[] args) {
        System.out.println("abz".matches("a.z"));   //true
        System.out.println("acz".matches("a.z"));   //true
        System.out.println("a".matches("\\."));     //true
        System.out.println("1".matches("\\d"));     //false
        System.out.println("1".matches("\\D"));     //true
        System.out.println(" ".matches("\\s"));     //false
        System.out.println("a".matches("\\S"));     //true
        System.out.println("a".matches("\\w"));     //true
        System.out.println("1".matches("\\w"));     //true
        System.out.println("@".matches("\\w"));     //false
        System.out.println("@".matches("\\W"));     //true

  }

4. 正则表达式-数量词

  • X? : 0次或1次
  • X* : 0次到多次
  • X+ : 1次或多次
  • X{n} : 恰好n次
  • X{n,} : 至少n次
  • X{n,m}: n到m次(n和m都是包含的)
点击查看代码
 public static void main(String[] args) {
        System.out.println("a".matches("\\w?"));    //true
        System.out.println("aa".matches("\\w*"));   //true
        System.out.println("aa".matches("\\w+"));   //true
        System.out.println("aa".matches("a{2}"));   //true
        System.out.println("aaa".matches("a{2}"));  //false
        System.out.println("a".matches("a{2}"));    //false
        System.out.println("aaa".matches("a{2,}")); //true
        System.out.println("a".matches("a{2,3}"));  //false
        System.out.println("aa".matches("a{2,3}")); //true
        //验证是否是手机号
        // 1.第一位为1
        // 2.第二位是3,5,8 3).后面9位都是数字
        System.out.println("15812340987".matches("1[358]\\d{9}"));// true
    }

5. 正则表达式-分组括号

以小括号将相同规则进行分组

点击查看代码
public static void main(String[] args) {
        String uuid = UUID.randomUUID().toString();
        System.out.println(uuid); //0f030d0f-fa5f-44f3-a510-2cbe60b4c67f
        String str = "0f030d0f-fa5f-fa5f-44f3-a510-2cbe60b4c67f";
        // 4-8位数字或者小写字母,以-结尾,并且出现4次,最后一次12位数字或者小写字母
        System.out.println(uuid.matches("([a-z0-9]{4,8}-){4}([a-z0-9]{12})")); //true
        System.out.println(str.matches("([a-z0-9]{4,8}-){4}([a-z0-9]{12})"));  //false
    }

标签:Java,正则表达式,System,matches,println,false,true,out
来源: https://www.cnblogs.com/jinxin1/p/16540149.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有