正则表达式

2021-01-29  本文已影响0人  zhangAllen

正则表达式

一、修饰符

二、元字符

定位符
限定符

限定符用来指定正则表达式的一个给定组件必须要出现多少次才能满足匹配。有 * 或 + 或 ? 或 {n} 或 {n,} 或 {n,m} 共 6 种。

选择

用圆括号 () 将所有选择项括起来,相邻的选择项之间用 | 分隔。

集合和范围

字符集合,用[]表示,匹配所包含的任意一个字符,用 [-]表示范围,用[^]表示不属于此集合

预定义类

三、运算符优先级

\(转义符)>圆括号和方括号((), (?:), (?=), [])>定位点和序列(^, $, \任何元字符、任何字符)>替换,"或"操作(|)

四、常用正则

数字类
- 数字:/^\d$/ 或者 /^[0-9]$/
- n 位的数字:/^(\d){n}$/ 或者 /^[0-9]{n}$/
- 至少 n 位的数字:/^(\d){n,}$/ 或者 /^[0-9]{n,}$/
- m-n 位的数字:/^(\d){m,n}$/ 或者 /^[0-9]{m,n}$/
- 零和非零开头的数字:^(0|[1-9][0-9]\*)$
校验字符
- 汉字:/^[\u4e00-\u9fa5]{0,}$/
- 英文和数字:/^[A-Za-z0-9]+$/
- 长度为3-20的所有字符:/^(\w){3,20}$/或者/^.{3,20}$/
- 由 26 个英文字母组成的字符串:/^[A-Za-z]+$/
- 由数字和 26 个英文字母组成的字符串:/^[A-Za-z0-9]+$/
- 由数字、26 个英文字母或者下划线组成的字符串:/^w+$/
- 中文、英文、数字包括下划线:/^[\u4e00-\u9fa5A-Za-z0-9_]+$/
- 中文、英文、数字但不包括下划线等符号:/^[\u4e00-\u9fa5A-Za-z0-9]+$/
特殊需求表达式
- Email 地址:/^\w+@\w+\.([a-z])+$/
- 域名:/[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?/
- 手机号码:/^1[2-9][0-9]{9}$/
- 身份证号(15 位、18 位数字),最后一位是校验位,可能为数字或字符 X:(^\d{15}$)|(^\d{18}$)|(^\d{17}(\d|X|x)$)
- 帐号是否合法(字母开头,允许 5-16 字节,允许字母数字下划线):/^[A-Za-z]\w{4,15}/
- 密码(以字母开头,长度在 6~18 之间,只能包含字母、数字和下划线):/^[A-Za-z]\w{4,15}/
- 强密码(必须包含大小写字母和数字的组合,不能使用特殊字符,长度在 8-10 之间):
- 强密码(必须包含大小写字母和数字的组合,可以使用特殊字符,长度在 8-10 之间):
- 日期格式:
- 一年的 12 个月(01 ~ 09 和 1 ~ 12):
- 中文字符的正则表达式:

五、工具

regexper

正则表达式在线测试

正则表达式练习

上一篇下一篇

猜你喜欢

热点阅读