正则表达式基础,高频知识点

  • 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

作者 | 大神神码 | 蚂蚁开源社区大神,资深前端工程师