36个正则表达式

我们在日常的Java开发中,经常需要处理一些字符串,本文主要介绍了36个常用正则表达式,感兴趣的可以了解一下

写在前面

我们在日常的Java开发中,经常需要处理一些字符串,这个时候正则表达式是非常有用的。几乎在所有的编程语言中都支持正则表达式。以下我将压箱底多年的干货搬出来给大家参考,都是我们日常使用频次比较高的正则表达式,希望能能大大提高你的工作效率。如果本文对大家有帮助,大家可以关注“Tom弹架构”,后续会连载正则表达式的基础知识。

目录

写在前面

1、整数

2、正整数

3、负整数

4、数字

5、正数(正整数 + 0)

6、负数(负整数 + 0)

7、浮点数

8、正浮点数

9、负浮点数

10、浮点数

11、非负浮点数(正浮点数 + 0)

12、非正浮点数(负浮点数 + 0)

13、邮箱地址

14、颜色值匹配

15、url匹配

16、纯仅中文字符

17、仅ACSII字符

18、邮政编码

19、国内手机号码

20、IP V4 地址

21、非空字符

22、图片后缀

23、音频后缀

24、视频后缀

25、压缩文件后缀

26、日期格式 

27、日期和时间格式

28、QQ号码

29、电话号码的函数(包括验证国内区号,国际区号,分机号)

30、用户名注册

 31、字母数字组合

32、纯字母

33、纯大写字母

34、纯小写字母

35、第二代身份证号码匹配

36、数字或字母


1、整数

图片

  public static final String intege = "^-?[1-9]\\d*$/";          //整数
  
  /**  正例 */
  System.out.println(Pattern.matches(intege,"123")); // true
  System.out.println(Pattern.matches(intege,"-123")); // true
  
  /**   反例 */
  System.out.println(Pattern.matches(intege,"abc")); // false
  System.out.println(Pattern.matches(intege,"0")); // false

2、正整数

图片

  public static final String intege1 = "^[1-9]\\d*$/";          //正整数
  
  // 正例 
  System.out.println(Pattern.matches(intege1,"123")); // true
  
  //  反例 
  System.out.println(Pattern.matches(intege1,"-123")); // false
  System.out.println(Pattern.matches(intege1,"0")); // false

 

3、负整数

图片

 public static final String intege2 = "^-[1-9]\\d*$/";          //负整数

  // 正例 
  System.out.println(Pattern.matches(intege2,"-123")); // true
  
  // 反例 
  System.out.println(Pattern.matches(intege2,"123")); // false
  System.out.println(Pattern.matches(intege2,"0")); // false

4、数字

图片

    public static final String num = "^([+-]?)\\d*\\.?\\d+$/";          //数字
    
    // 正例 
    System.out.println(Pattern.matches(num,"123")); // true
    System.out.println(Pattern.matches("0")); // true
    
    // 反例 
    System.out.println(Pattern.matches(num,"a123")); // false
    

5、正数(正整数 + 0)

    public static final String num1 = "^[1-9]\\d*|0$/";                 //正数(正整数 + 0)
    
    // 正例 
    System.out.println(Pattern.matches(num1,"123")); // true
    System.out.println(Pattern.matches(num1,"0")); // true
    
    // 反例 
    System.out.println(Pattern.matches(num1,"-123")); // false
    

6、负数(负整数 + 0)

图片

    public static final String num2 = "^-[1-9]\\d*|0$/";                    //负数(负整数 + 0)
    
    // 正例 
    System.out.println(Pattern.matches(num2,"-123")); // true
    System.out.println(Pattern.matches(num2,"0")); // true
    
    // 反例 
    System.out.println(Pattern.matches(num2,"123")); // false
    

7、浮点数

图片

    public static final String decmal = "^([+-]?)\\d*\\.\\d+$/";            //浮点数
    
    // 正例 
    System.out.println(Pattern.matches(decmal,"-0.1")); // true
    System.out.println(Pattern.matches(decmal,"0.1")); // true
    
    // 反例 
    System.out.println(Pattern.matches(decmal,"a.b")); // false

8、正浮点数

图片

    public static final String decmal1 = "^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*$"; //正浮点数
    
    // 正例 
    System.out.println(Pattern.matches(decmal1,"0.1")); // true
    
    // 反例 
    System.out.println(Pattern.matches(decmal1,"-0.1")); // false
    

9、负浮点数

图片

    public static final String decmal2 = "^-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*)$"; //负浮点数
    
    // 正例 
    System.out.println(Pattern.matches(decmal2,"-0.1")); // true
    
    // 反例 
    System.out.println(Pattern.matches(decmal2,"0.1")); // false 

 

10、浮点数

图片

    public static final String decmal3 = "^-?([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0)$";//浮点数
    
    // 正例 
    System.out.println(Pattern.matches(decmal3,"-0.1")); // true
    System.out.println(Pattern.matches(decmal3,"0.1")); // true
    
    // 反例 
    System.out.println(Pattern.matches(decmal3,"a.b")); // false
    

11、非负浮点数(正浮点数 + 0)

图片

    public static final String decmal4 = "^[1-9]\\d*.\\d*|0.\\d*[1-9]\\d*|0?.0+|0$";  //非负浮点数(正浮点数 + 0)
    
    // 正例 
    System.out.println(Pattern.matches(decmal4,"0.1")); // true
    
    // 反例 
    System.out.println(Pattern.matches(decmal4,"-0.1")); // false
    

 

12、非正浮点数(负浮点数 + 0)

图片

    public static final String decmal5 = "^(-([1-9]\\d*.\\d*|0.\\d*[1-9]\\d*))|0?.0+|0$"; //非正浮点数(负浮点数 + 0)
    
    // 正例 
    System.out.println(Pattern.matches(decmal5,"-0.1")); // true
    
    // 反例 
    System.out.println(Pattern.matches(decmal5,"0.1")); // false
    

 

13、邮箱地址

图片

    public static final String email = "^\\w+((-\\w+)|(\\.\\w+))*\\@[A-Za-z0-9]+((\\.|-)[A-Za-z0-9]+)*\\.[A-Za-z0-9]+$"; //邮件
    
    // 正例 
    System.out.println(Pattern.matches(email,"tom@gupaoedu.com")); // true
    
    // 反例 
    System.out.println(Pattern.matches(email,"tom.gupaoedu.com")); // false
    

14、颜色值匹配

图片

    public static final String color = "^[a-fA-F0-9]{6}$";              //颜色
    
    // 正例 
    System.out.println(Pattern.matches(color,"ffffff")); // true
    System.out.println(Pattern.matches(color,"FFFFFF")); // true
    
    // 反例 
    System.out.println(Pattern.matches(color,"#FFFFFF")); // false
    System.out.println(Pattern.matches(color,"white")); // false

 

15、url匹配

图片

    public static final String url = "^http[s]?:\\/\\/([\\w-]+\\.)+[\\w-]+([\\w-.\\/?%&=]*)?$"; //url
    
    // 正例 
    System.out.println(Pattern.matches(url,"http://www.xxx.com")); // true
    System.out.println(Pattern.matches(url,"https://www.xxx.com")); // true
    System.out.println(Pattern.matches(url,"www.xxx.com")); // true
    
    // 反例 
    System.out.println(Pattern.matches(url,"abcd")); // false
    

 

16、纯仅中文字符

图片

    public static final String chinese = "^[\\u4E00-\\u9FA5\\uF900-\\uFA2D]+$";                 //仅中文
    
    // 正例 
    System.out.println(Pattern.matches(chinese,"汤姆弹架构")); // true
    
    // 反例 
    System.out.println(Pattern.matches(chinese,"Tom弹架构")); // false
    

 

17、仅ACSII字符

图片

    public static final String ascii = "^[\\x00-\\xFF]+$";              //仅ACSII字符
    
    // 正例 
    System.out.println(Pattern.matches(ascii,"abc123")); // true
    
    // 反例 
    System.out.println(Pattern.matches(ascii,"にそ①②③")); // false
    

18、邮政编码

图片

    public static final String zipcode = "^\\d{6}$";                        //邮编
    
    // 正例 
    System.out.println(Pattern.matches(zipcode,"100000")); // true
    
    // 反例 
    System.out.println(Pattern.matches(zipcode,"1000000")); // false
    

 

19、国内手机号码

图片

    public static final String mobile = "^(13|15|16|17|18)[0-9]{9}$";               //手机
    
    // 正例 
    System.out.println(Pattern.matches(zipcode,"13800138000")); // true
    
    // 反例 
    System.out.println(Pattern.matches(zipcode,"19900010002")); // false
    

20、IP V4 地址

图片

    public static final String ip4 = "^(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)\\.(25[0-5]|2[0-4]\\d|[0-1]\\d{2}|[1-9]?\\d)$"; //ip地址
    
    // 正例 
    System.out.println(Pattern.matches(zipcode,"127.0.0.1")); // true
    
    // 反例 
    System.out.println(Pattern.matches(zipcode,"aa.bb.cc.dd")); // false

 

21、非空字符

图片

    public static final String notempty = "^\\S+$";                     //非空
    
    // 正例 
    System.out.println(Pattern.matches(notempty,"  abc ")); // true
    
    // 反例 
    System.out.println(Pattern.matches(notempty,"")); // false
    

 

22、图片后缀

图片

    public static final String picture = "(.*)\\.(jpg|bmp|gif|ico|pcx|jpeg|tif|png|raw|tga|JPG|BMP|GIF|ICO|PCX|JPEG|TIF|PNG|RAW|TGA)$"; //图片
    
    // 正例 
    System.out.println(Pattern.matches(picture,"tom.jpg")); // true
    
    // 反例 
    System.out.println(Pattern.matches(picture,"tom.txt"")); // false

 

23、音频后缀

图片

    public static final String audio = "(.*)\\.(mp3|wma|mid|midi|wav|vqf|MP3|WMA|MID|MIDI|WAV|VQF)$";   //音频
    
        // 正例 
    System.out.println(Pattern.matches(audio,"tom.mp3")); // true
    
    // 反例 
    System.out.println(Pattern.matches(audio,"tom.txt"")); // false
    

24、视频后缀

图片

    public static final String video = "(.*)\\.(rm|3gp|mp4|rmvb|avi|wmv|flv|vob|exe|mkv|swf|RM|3GP|MP4|RMVB|AVI|WMV|FLV|VOB|EXE|MKV|SWF)$"; // 视频格式
    
    // 正例 
    System.out.println(Pattern.matches(video,"tom.mp4")); // true
    
    // 反例 
    System.out.println(Pattern.matches(video,"tom.txt"")); // false

 

 

25、压缩文件后缀

图片

    public static final String rar = "(.*)\\.(rar|zip|7zip|tgz|RAR|ZIP|7ZIP|TGZ)$"; //压缩文件
    
    // 正例 
    System.out.println(Pattern.matches(rar,"tom.zip")); // true
    
    // 反例 
    System.out.println(Pattern.matches(rar,"tom.txt"")); // false
    

 

26、日期格式 

图片

    public static final String date = "^\\d{4}(\\-|\\/|\\.)\\d{1,2}\\1\\d{1,2}$";   //日期
    
    // 正例 
    System.out.println(Pattern.matches(date,"2024-10-24")); // true
    System.out.println(Pattern.matches(date,"2024/10/24")); // true
    
    // 反例 
    System.out.println(Pattern.matches(date,"2024年10月24日"")); // false
    

 

27、日期和时间格式

图片

    public static final String datetime = "^\\d{4}(\\-|\\/|\\.)\\d{1,2}\\1\\d{1,2}(\\s\\d{2}:)?(\\d{2}:)?(\\d{2})?$";   //日期和时间
    
    // 正例 
    System.out.println(Pattern.matches(datetime,"2024-10-24 23:59:59")); // true
    System.out.println(Pattern.matches(datetime,"2024/10/24 23:59:59")); // true
    
    // 反例 
    System.out.println(Pattern.matches(datetime,"2024年10月24日 23时59分59秒"")); // false
        

 

28、QQ号码

图片

    public static final String qq = "^[1-9]*[1-9][0-9]*$";      //QQ号码
    
    // 正例 
    System.out.println(Pattern.matches(qq,"123456")); // true
    
    // 反例 
    System.out.println(Pattern.matches(qq,"1234567890")); // false
        

 

29、电话号码的函数(包括验证国内区号,国际区号,分机号)

图片

    public static final String tel = "^(([0\\+]\\d{2,3}-)?(0\\d{2,3})-)?(\\d{7,8})(-(\\d{3,}))?$";  //电话号码的函数(包括验证国内区号,国际区号,分机号)
    
    // 正例 
    System.out.println(Pattern.matches(tel,"010-1234567")); // true
    System.out.println(Pattern.matches(tel,"0100-12345678")); // true
    
    // 反例 
    System.out.println(Pattern.matches(tel,"13800138000")); // false
        

 

30、用户名注册

图片

    public static final String username = "^[A-Za-z]\\w{5,}$";  //用来用户注册。匹配由数字、26个英文字母或者下划线组成的字符串
        
    // 正例 
    System.out.println(Pattern.matches(username,"gupaoedutom")); // true
    
    // 反例 
    System.out.println(Pattern.matches(username,"tom@gupaoedu")); // false
    

 31、字母数字组合

    public static final String allstring = "^\\w+$"; //字母数字组合
    
    // 正例 
    System.out.println(Pattern.matches(allstring,"abc123")); // true
    
    // 反例 
    System.out.println(Pattern.matches(allstring,"abc123%^&")); // false
    

32、纯字母

public static final String letter = "^[A-Za-z]+$";                  //字母

// 正例
System.out.println(Pattern.matches(letter,"abc")); // true

// 反例
System.out.println(Pattern.matches(letter,"abc123")); // false

33、纯大写字母

public static final String letter_u = "^[A-Z]+$";                   //大写字母

// 正例
System.out.println(Pattern.matches(letter_u,"ABC")); // true

// 反例
System.out.println(Pattern.matches(letter_u,"abc")); // false

34、纯小写字母

public static final String letter_l = "^[a-z]+$";                   //小写字母

// 正例
System.out.println(Pattern.matches(letter_l,"abc")); // true

// 反例
System.out.println(Pattern.matches(letter_l,"ABC")); // false

35、第二代身份证号码匹配

public static final String idcard = "^[1-9]([0-9]{14}|[0-9]{17})$"; //身份证

// 正例
System.out.println(Pattern.matches(idcard,"100000201410241024")); // true

// 反例
System.out.println(Pattern.matches(idcard,"1000002014102410240")); // false

36、数字或字母

public static final String numOrStr = "^[A-Za-z0-9]+$";//数字或字母

// 正例
System.out.println(Pattern.matches(numOrStr,"abc123")); // true
System.out.println(Pattern.matches(numOrStr,"abc")); // true
System.out.println(Pattern.matches(numOrStr,"123")); // true


// 反例
System.out.println(Pattern.matches(numOrStr,"脚本之家")); // false

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值