正则表达式

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)

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.管道符  |

你可能感兴趣的:(正则表达式)