文章目录
正则表达式相关知识总结记录(日常开发)
- 首先,直接给出日常开发最常用的一些正则表达式的判断!
常用正则表达式
可以在idea中下载any-rule插件进行快捷使用
//第一部分:1 表示手机号码只能以1开头
//第二部分:[3-9] 表示手机号码第二位只能是3-9之间的
//第三部分:\\d{9} 表示任意数字可以出现9次,也只能出现9次
* 手机号码:1[3-9]\\d{
9}
//一:区号@\\d{2,3}0:表示区号一定是以0开头的; \\d{2,3}:表示区号从第二位开始可以是任意的数字,可以出现2到3次。
//二:- ?表示次数,日次或一次
//三:号码 号码的第一位也不能以日开头,从第二位开始可以是任意的数字,号码的总长度:5-10位
* 座机号码:0\\d{
2,3}-?[1-9]\\d{
4,9}
//邮箱号码
//3232323@qq.com zhangsan@itcast.cnn dlei0009@163.com dlei0009@pci.com.cn
//思路:在书写邮箱号码正则的时候需要把正确的数据分为三部分
//第一部分:@的左边 \\w+ 任意的字母数字下划线,至少出现一次就可以了
//第二部分:@ 只能出现一次
//第三部分:
// 3.1 .的左边[\\w&&[^_]]{2,6} 任意的字母加数字,总共出现2-6次(此时不能出现下划线)
// 3.2 . \\. 点符号需要\\进行转义输出
// 3.3 大写字母,小写字母都可以,只能出现2-3次[a-zA-Z]{2,3}
// (\\.[a-zA-Z]{2,3}){1,2} ()代表分组,我们可以把3.2和3.3看成一组,这一组可以出现1次或者两次
* 邮箱号码:\\w+@[\\w&&[^_]]{
2,6}(\\.[a-zA-Z]{
2,3}){
1,2}
* 24小时:([01]\\d|2[0-3]):[0-5]\\d:[0-5]\\d
([01]\\d|2[0-3])(:[0-5]\\d){
2}
* 用户名: \\w{
4,16}
* 身份证号码,简单校验:
[1-9]\\d{
16}(\\d|X|x)
[1-9]\\d{
16}[\\dXx]
[1-9]\\d{
16}(\\d(?i)X)
* 身份证号码,严格校验:
[1-9]\\d{
5}(18|19|20)\\d{
2}(0[1-9]|1[0-2])(0[1-9|[12])\\d|3[01])\\d{
3}[\\dXx]
正则表达式
- 写在前面,正则表达式是通过字符规则+数量词来规定字符串要求格式的一种规范。字符规则部分只针对单个字符:
- 若字符串长度与正则表达式规定字符规则+数量词的长度不同,则直接判断不合规则。
- 若正则表达式没有规定数量词,则默认一个字符规则对应一个字符。
1.1正则表达式-数量词
-
语法示例:
前面的X代表一个字符,后面跟着的符号代表出现次数的规则
- X? : 0次或1次
- X* : 0次到多次
- X+ : 1次或多次
- X{n} : 恰好n次
- X{n,} : 至少n次
- X{n,m}: n到m次(n和m都是包含的)
-
代码示例:
public class Demo { public static void main(String[] args) { // 必须是数字 字母 下划线 至少 6位 System.out.println("2442fsfsf".matches("\\w{6,}"));//true System.out.println("244f".matches("\\w{6,}"));//false // 必须是数字 字母 下划线 至少 6位,最多9位 System.out.println("2442fsfsf".matches("\\w{6,9}"));//true // 必须是数字和字符 必须是4位 System.out.println("23dF".matches("[a-zA-Z0-9]{4}"));//true System.out.println("23 F".matches("[a-zA-Z0-9]{4}"));//false System.out.println("23dF".matches("[\\w&&[^_]]{4}"));//true System.out.println("23_F".matches

本文详细介绍正则表达式的各种应用场景及技巧,包括数量词、字符类、逻辑运算符等核心概念,并提供实用代码示例。
最低0.47元/天 解锁文章
779

被折叠的 条评论
为什么被折叠?



