Write in front
In our daily Java development, we often need to deal with some strings. At this time, regular expressions are very useful. Regular expressions are supported in almost all programming languages. Below I will carry out the dry goods from the bottom of the press box for your reference. They are all regular expressions that we use frequently in daily life. I hope that it can greatly improve your work efficiency. If this article is helpful to everyone, you can pay attention to "Tom Bomb Architecture", and the basic knowledge of regular expressions will be serialized in the follow-up.
1. Integer
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. Positive integer
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. Negative integer
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. Numbers
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. Positive number (positive integer + 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. Negative numbers (negative integer + 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. Floating point number
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. Positive floating point number
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. Negative floating point numbers
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. Floating point number
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. Non-negative floating-point number (positive floating-point number + 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. Non-positive floating-point number (negative floating-point number + 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. Email address
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. Color value matching
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 matching
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, pure Chinese characters only
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. Only ACSII characters
public static final String ascii = "^[\\x00-\\xFF]+$"; //仅ACSII字符
// 正例
System.out.println(Pattern.matches(ascii,"abc123")); // true
// 反例
System.out.println(Pattern.matches(ascii,"にそ①②③")); // false
18. Postal code
public static final String zipcode = "^\\d{6}$"; //邮编
// 正例
System.out.println(Pattern.matches(zipcode,"100000")); // true
// 反例
System.out.println(Pattern.matches(zipcode,"1000000")); // false
19. Domestic mobile phone number
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 address
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, non-blank characters
public static final String notempty = "^\\S+$"; //非空
// 正例
System.out.println(Pattern.matches(notempty," abc ")); // true
// 反例
System.out.println(Pattern.matches(notempty,"")); // false
22, picture suffix
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, audio suffix
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, video suffix
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. Compressed file suffix
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, date format
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. Date and time format
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 number
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. Telephone number function (including verification of domestic area code, international area code, extension number)
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. Username registration
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. Alphanumeric combination
public static final String allstring = "^\\w+$"; //字母数字组合
// 正例
System.out.println(Pattern.matches(allstring,"abc123")); // true
// 反例
System.out.println(Pattern.matches(allstring,"abc123%^&")); // false
32, pure letters
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, pure capital letters
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, pure lowercase letters
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. Second-generation ID card number matching
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, numbers or letters
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
This article is the original "Tom Bomb Architecture", please indicate the source for reprinting. Technology lies in sharing, I share my happiness!
If this article is helpful to you, please pay attention and like it; if you have any suggestions, you can also leave a comment or private message. Your support is my motivation to persist in creating. Follow the WeChat public account "Tom Bomb Architecture" to get more technical dry goods!
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。