正则表达式基础,高频知识点
- 2019 年 11 月 6 日
- 筆記
1.常用元字符
- d:表示任意数字
- w:表示A至Z,a至z,0至9和下划线这些常用的字符
- s:表示一切不可见字符(不可见字符指在编辑器里显示不出来的,例如空格,回车,换行,tab制表符)
- 。:表示除回车 r和换行 n之外的一切字符。
- b:边界(常用字符和不常用字符逻辑上的分割)

2.表示位置的元字符
- ^:修饰出现在它后边的字符。表示出现在后边的字符必须是字符串的第一位。
- $:修饰出现在它前边的字符,表示出现在它前边必须是字符串的最后一位。
3.表示数量的元字符
- {n}:n是一个非负整数,匹配确定的n次
- {n,m}:n和m可以合并非负整数,其中n <= m,至少匹配n次最多匹配m次。
- {n,}:n是一个非负整数,表示至少匹配n次。
- *表示匹配0次或多次,等价于{0,}
- +表示匹配一次或多次,等价于{1,}
- ?表示出现0次或1次,等价于{0,1}
4.常用修饰符
- 整体匹配修饰符g
- 不区分大小写修饰符i
- 行首行尾修饰符m
5.正则中两种表示或运算的方式| []
- 区别:把| []表示任意字符中选其一。ab| bc表示匹配ab或bc。[abcd]表示从abcd中占据一个。
6.用正则表达所有的字符
- / [ d D] /; 大写的D表示非数字字符。即所有字符。/[sS]/;所有不可见字符和所有可见字符(不可见字符是在编辑器中不显示的字符,例如空格,回车,tab等)。//[ w W] /;所有常用字符和非常用字符
7.反字符集合[^ abc]:
- ^在正则表达式开始部分的时候表示开头的意思,例如/ ^ c /表示开头是c;但是在字符集合中,它表示的是类似“非”的意思,例如[^ abc]就表示不能是[^ 0-9]表示非数字。[^ az]表示非小写字符,以此类推
8.常用正则
- 有效数字的正则,不可以以0开头,可以是小数,可以有+或—号 /^[+-]?(d|([1-9]d+))(.d+)?$/
- 汉字 /u4e00-u9fa5/
- 匹配18-65 /^((1[8-9])|([2-5]d)|(6[0-5]))$/
- 同时包含数字和字母的用户名长度在8-15之间 /^(?!d+$)(?![a-zA-Z]+$)[a-zA-Z0-9]{8,15}$/
- 去掉首位空间 /^ +| +$/g
- 去掉中间多余空间 / +/g
作者 | 大神神码 | 蚂蚁开源社区大神,资深前端工程师