36个正则表达式(开发效率提高80%)

2023-12-11 0 460
目录
  • 写在前面
  • 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、数字或字母

写在前面

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

1、整数

36个正则表达式(开发效率提高80%)

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、正整数

36个正则表达式(开发效率提高80%)

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、负整数

36个正则表达式(开发效率提高80%)

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、数字

36个正则表达式(开发效率提高80%)

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)

36个正则表达式(开发效率提高80%)

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、浮点数

36个正则表达式(开发效率提高80%)

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、正浮点数

36个正则表达式(开发效率提高80%)

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、负浮点数

36个正则表达式(开发效率提高80%)

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、浮点数

36个正则表达式(开发效率提高80%)

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)

36个正则表达式(开发效率提高80%)

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)

36个正则表达式(开发效率提高80%)

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、邮箱地址

36个正则表达式(开发效率提高80%)

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、颜色值匹配

36个正则表达式(开发效率提高80%)

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匹配

36个正则表达式(开发效率提高80%)

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、纯仅中文字符

36个正则表达式(开发效率提高80%)

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字符

36个正则表达式(开发效率提高80%)

public static final String ascii = \”^[\\\\x00-\\\\xFF]+$\”; //仅ACSII字符

// 正例
System.out.println(Pattern.matches(ascii,\”abc123\”)); // true

// 反例
System.out.println(Pattern.matches(ascii,\”にそ①②③\”)); // false

18、邮政编码

36个正则表达式(开发效率提高80%)

public static final String zipcode = \”^\\\\d{6}$\”; //邮编

// 正例
System.out.println(Pattern.matches(zipcode,\”100000\”)); // true

// 反例
System.out.println(Pattern.matches(zipcode,\”1000000\”)); // false

19、国内手机号码

36个正则表达式(开发效率提高80%)

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 地址

36个正则表达式(开发效率提高80%)

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、非空字符

36个正则表达式(开发效率提高80%)

public static final String notempty = \”^\\\\S+$\”; //非空

// 正例
System.out.println(Pattern.matches(notempty,\” abc \”)); // true

// 反例
System.out.println(Pattern.matches(notempty,\”\”)); // false

22、图片后缀

36个正则表达式(开发效率提高80%)

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、音频后缀

36个正则表达式(开发效率提高80%)

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、视频后缀

36个正则表达式(开发效率提高80%)

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

36个正则表达式(开发效率提高80%)

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、日期格式

36个正则表达式(开发效率提高80%)

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

36个正则表达式(开发效率提高80%)

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号码

36个正则表达式(开发效率提高80%)

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

36个正则表达式(开发效率提高80%)

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、用户名注册

36个正则表达式(开发效率提高80%)

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

到此这篇关于36个正则表达式(开发效率提高80%)的文章就介绍到这了,更多相关正则表达式内容请搜索悠久资源网以前的文章或继续浏览下面的相关文章希望大家以后多多支持悠久资源网!

您可能感兴趣的文章:

  • 十分钟上手正则表达式 下篇
  • 十分钟上手正则表达式 上篇
  • 正则表达式那些让人头晕的元字符
  • 正则表达式用法详解

收藏 (0) 打赏

感谢您的支持,我会继续努力的!

打开微信/支付宝扫一扫,即可进行扫码打赏哦,分享从这里开始,精彩与您同在
点赞 (0)

悠久资源 正则表达式 36个正则表达式(开发效率提高80%) https://www.u-9.cn/biancheng/zhengze/154687.html

常见问题

相关文章

发表评论
暂无评论
官方客服团队

为您解决烦忧 - 24小时在线 专业服务