正则基础

@liushaozhen 2016-08-07 07:57:26发表于 iuap-design/blog

正则基础

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表示非数字字符。即所有字符。/[\s\S]/;所有不可见字符和所有可见字符(不可见字符是在编辑器中不显示的字符,例如空格,回车,tab等)。/[\w\W]/;所有常用字符和非常用字符

7.反字符集合[^abc]:

  • ^在正则表达式开始部分的时候表示开头的意思,例如/^c/表示开头是c;但是在字符集合中,它表示的是类似“非”的意思,例如[^abc]就表示不能是a、b和c中的任何一个。[^0-9]表示非数字。[^a-z]表示非小写字符,以此类推

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