1.正则表达式中字符的含义
1.1 字符类
\d:匹配任意阿拉伯数字【0-9】
匹配正整数:/^[1-9]\d*$/
\D:匹配任意一个不是阿拉伯数字的字符
匹配不包含数字的的用户名:/^\D+$/
\w:匹配任意来自基本拉丁字母表中的字母数字字符和下划线【A-Za-Z0-9_】
匹配包含8-16位的包含数字、字符和下划线的密码:/^\w{8,16}$/
\W:匹配任意不是基本拉丁字母表中的单词(字母数字下划线)字符的字符
匹配不包含字母数字下划线的任意字符:/^\W*$/
\s:匹配一个空白符,包括空格、制表符、换页符、换行符和其他Unicode空格
匹配首尾空格:/(^\s)|(\s$)/
\S:匹配一个非空白符
.:匹配任意单个字符
[xyz]:一个字符集合,也叫字符组。匹配集合中的任意一个字符。可以使用连字符‘-’指定一个范围
匹配月份:/[1-9]|1[0-2]/
[^xyz]:一个反义或补充字符集,也就是说,它匹配任意不在括号内的字符。可以通过使用连字符‘-’指定一个范围内的字符。
匹配除了数字的任意字符:/[^\d]*/
1.2 数量词
x{n}:前面模式x连续出现n次匹配
匹配包含任意字符的8位密码:/.{8}/
x{n,}:前面模式x至少出现n次
匹配至少出现5次‘xml’的字符串:/(xml){5,}/
x{n,m}:前面模式x至少出现n次,至多出现m次
x*:匹配前面的模式x0次或多次
x+:匹配前面的模式x1次或多次
x?:匹配前面的模式0次或1次
x|y:匹配x或y
匹配含有m或者n的单词:/m|n/
x*? x+?:最小匹配(惰性匹配)
1.3 断言
x(?=y)仅匹配被y跟随的x
x(?!y)仅匹配不被y跟随的x
2. 正则表达式中的括号
2.1 分组
(x):匹配x并且捕获匹配项
2.2 引用分组
()中的内容对应着RegExp对象的属性$1,...,$9
2.3 反向引用
引用反向是存在正则里面的
2.4 非捕获分组
3.操作符的优先级(从上到下,从高到低)
1. 转义符 \
2. 括号和方括号 () []
3. 量词限定符 {m}、{m,n}、{m,}、*、?、+、?
4.位置和序列 ^、$、\元字符、一般字符
5.管道符 |