1. 用户名正则表达式模式 - ^ # 行开始
- [a-z0-9_-] # 匹配列表中的字符,a-z,0–9,下划线,连字符
- {3,15} # 长度至少3个字符,最大长度为15
- $ # 行结束
复制代码
2. 密码正则表达式模式- ((?=.*d)(?=.*[a-z])(?=.*[A-Z])(?=.*[@#$%]).{6,20})
复制代码- ( # 组开始
- (?=.*d) # 必须包含一个数字 0-9
- (?=.*[a-z]) # 必须包含一个小写字符
- (?=.*[A-Z]) # 必须包含一个大写字符
- (?=.*[@#$%]) # 必须包含一个列表中的特殊字符"@#$%"
- . # 检查所有字符串与前面的条件的匹配
- {6,20} # 长度至少为6个字符,最大长度为20
- ) # 组结束
复制代码
3. 16进制颜色代码正则表达式模式- ^#([A-Fa-f0-9]{6}|[A-Fa-f0-9]{3})$
复制代码- ^ # 行开始
- # # 必须包含一个"#"符号
- ( # 组#1开始
- [A-Fa-f0-9]{6} # 列表中的任意字符串,长度为6
- | # ..或者
- [A-Fa-f0-9]{3} # 列表中的任意字符串,长度为3
- ) # 组#1结束
- $ # 行结束
复制代码
4. Email 正则表达式模式- ^[_A-Za-z0-9-]+(\.[_A-Za-z0-9-]+)*@[A-Za-z0-9]+(\.[A-Za-z0-9]+)*(\.[A-Za-z]{2,})$
复制代码- ^ # 行开始
- [_A-Za-z0-9-]+ # 必须以中括号中的字符为起始字符[],必须包含一个或多个(+)
- ( # 组#1开始
- \.[_A-Za-z0-9-]+ # 接下来是一个点"."和中括号内的字符[],必须包含一个或者多个(+)
- )* # 组#1结束, 这个组是可选的(*)
- @ # 必须包含一个"@"符号
- [A-Za-z0-9]+ # 接下来是中括号内的字符[],必须包含一个或者多个(+)
- ( # 组 #2开始 – 一级TLD检查
- \.[A-Za-z0-9]+ # 接下来是一个点"."和中括号内的字符[],必须包含一个或者多个(+)
- )* # 组#2结束,这个组是可选的(*)
- ( # 组#3开始 – 二级TLD检查
- \.[A-Za-z]{2,} # 接下来是一个点"."和中括号内的字符[], 最小长度为2
- ) # 组#3结束
- $ # 行结束
复制代码
5. 图像文件扩展名正则表达式模式- ([^s]+(.(?i)(jpg|png|gif|bmp))$)
复制代码- ( # 组#1开始
- [^s]+ # 必须包含一个或更多的任意字符(除了空格)
- ( # 组#2开始
- . # 接下来是一个点"."
- (?i) # 忽略后边字符的大小写检查
- ( # 组#3开始
- jpg # 包含字符"jpg"
- | # ..或者
- png # 包含字符"png"
- | # .. 或者
- gif # 包含字符"gif"
- | # .. 或者
- bmp # 包含字符"bmp"
- ) # 组#3结束
- ) # 组#2结束
- $ # 字符串的结束
- ) # 组#1结束
复制代码- 补充一个:[\s\S]*?([^\/]*?\.jpg)
复制代码
6. IP地址正则表达式模式- ^([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])\.
- ([01]?\d\d?|2[0-4]\d|25[0-5])\.([01]?\d\d?|2[0-4]\d|25[0-5])$
复制代码- ^ # 行开始
- ( # 组#1开始
- [01]?\d\d? # 可以是1到2个数字. 如果出现3个数字, 必须以0或者1开始
- # 例如 ([0-9], [0-9][0-9],[0-1][0-9][0-9])
- | # ...或者
- 2[0-4]\d # 以2开始, 紧跟着是0-4,并且以任意数字结尾(2[0-4][0-9])
- | # ...或者
- 25[0-5] # 以2开始, 紧跟着是5,并且以0-5结尾 (25[0-5])
- ) # 组#1结束
- . # 接下来是点"."
- .... # 重复3次 (3x)
- $ # 行结束
复制代码
7. 时间格式正则表达式模式
12-小时制时间正则表达式模式- (1[012]|[1-9]):[0-5][0-9](\s)?(?i)(am|pm)
复制代码- ( # 组#1开始
- 1[012] # 以10, 11, 12开始
- | # 或者
- [1-9] # 以1,2,...9开始
- ) # 组#1结束
- : # 接下来是一个冒号 (:)
- [0-5][0-9] # 接下来是0..5和0..9,意思是00到59
- (\s)? # 接下来是一个空格(可选)
- (?i) # 下面的检查不区分大小写
- (am|pm) # 接下来是AM或者PM
复制代码
24小时制时间正则表达式模式- ([01]?[0-9]|2[0-3]):[0-5][0-9]
复制代码- ( # 组#1开始
- [01]?[0-9] # 以0-9,1-9,00-09,10-19开始
- | # 或者
- 2[0-3] # 以20-23开始
- ) # 组#1结束
- : # 接下来是一个冒号(:)
- [0-5][0-9] # 接下来是0..5和0..9,意思是00到59
复制代码
8. 日期格式 (dd/mm/yyyy) 正则表达式模式- (0?[1-9]|[12][0-9]|3[01])/(0?[1-9]|1[012])/((19|20)\d\d)
复制代码- ( # 组#1开始
- 0?[1-9] # 01-09或者1-9
- | # ..或者
- [12][0-9] # 10-19或者20-29
- | # ..或者
- 3[01] # 30, 31
- ) # 组#1结束
- / # 接下来是一个"/"
- ( # 组#2开始
- 0?[1-9] # 01-09或者1-9
- | # ..或者
- 1[012] # 10,11,12
- ) # 组#2结束
- / # 接下来是一个"/"
- ( # 组#3开始
- (19|20)\d\d # 19[0-9][0-9]或者20[0-9][0-9]
- ) # 组#3结束
复制代码
9. html标签正则表达式模式- <("[^"]*"|'[^']*'|[^'">])*>
复制代码- < # 以"<"标签开始
- ( # 组#1开始
- "[^"]*" # 只允许两个双引号成对出现-"string"
- | # ..或者
- '[^']*' # 只允许两个单引号成对出现- 'string'
- | # ..或者
- [^'">] # 不能出现单独的双引号、单引号和">"
- ) # 组#1结束
- * # 0次或多次
- > # 以结束标签">"结束
复制代码
10. HTML链接正则表达式模式
HTML中的A标签正则表达式模式- ( # 组#1开始
- ?i # 所有的检查区分大小写
- ) # 组#1结束
- <a # 以"<a"开始
- ( # 组#2开始
- [^>]+ # 除了(">")之外的任意字符,至少一个字符
- ) # 组#2结束
- > # 接下来是">"
- (.+?) # 匹配所有
- </a> # 以"</a>结束
复制代码
提取HTML链接正则表达式模式- s*(?i)hrefs*=s*("([^"]*")|'[^']*'|([^'">s]+));
复制代码- s* # 可以以空格开始
- (?i) # 所有的检查是区分大小写的
- href # 接下来是一个"href"字
- s*=s* # 等号两边都允许空格,
- ( # 组#1开始
- "([^"]*") # 只允许2个双引号成对出现 - "string"
- | # ..或者
- '[^']*' # 只允许2个单引号成对出现 - 'string'
- | # ..或者
- ([^'">]+) # 或者不允许出现单独的单引号、双引号和">"
- ) # 组#1结束
复制代码 |