分享

收藏这36个正则表达式,开发效率提高80%

 网摘文苑 2021-10-25

写在前面

1、整数

文章图片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、正整数

文章图片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、负整数

文章图片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、数字

文章图片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)

文章图片5
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)

文章图片6
    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、浮点数

文章图片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、正浮点数

文章图片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、负浮点数

文章图片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、浮点数

文章图片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)

文章图片11
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)

文章图片12
    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、邮箱地址

文章图片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、颜色值匹配

文章图片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匹配

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

16、纯仅中文字符

文章图片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字符

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

18、邮政编码

文章图片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、国内手机号码

文章图片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 地址

文章图片20
    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、非空字符

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

22、图片后缀

文章图片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、音频后缀

文章图片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、视频后缀

文章图片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、压缩文件后缀

文章图片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、日期格式

文章图片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、日期和时间格式

文章图片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号码

文章图片28
    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、电话号码的函数(包括验证国内区号,国际区号,分机号)

文章图片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、用户名注册

文章图片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、字母数字组合

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

32、纯字母

文章图片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、纯大写字母

文章图片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、纯小写字母

文章图片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、第二代身份证号码匹配

文章图片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、数字或字母

文章图片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,'Tom弹架构')); // false

    本站是提供个人知识管理的网络存储空间,所有内容均由用户发布,不代表本站观点。请注意甄别内容中的联系方式、诱导购买等信息,谨防诈骗。如发现有害或侵权内容,请点击一键举报。
    转藏 分享 献花(0

    0条评论

    发表

    请遵守用户 评论公约

    类似文章 更多