元字符:\b $ ^匹配位置,不匹配字符
代码 | 说明 | 反义字符(跟前面匹配相反) |
---|
. | 匹配除了换行符以外的任意字符 | |
\w | 匹配:字母、数字、下划线、汉子 | \W |
\s | 匹配任意的空白字符 | \S |
\d | 匹配数字 | \D |
\b | 匹配单词的开始或结束 | \B |
^ | 匹配字符串的开始 | [^x] |
$ | 匹配字符串的结束 | [^x] |
限定符:
代码 | 说明 |
---|
* | 重复0到多次 |
+ | 重复至少一次 |
? | 重复0到1一次 |
{n} | 重复n次 |
{n,} | 重复至少n次 |
{n,m} | 重复n到m次 |
分组捕获
代码 | 说明 |
---|
(exp) | 匹配exp,并捕获文本到自动命名的组里面 |
(?exp) | 匹配exp,并捕获文本到名称为name的组里面,也可以写成(?’name’exp) |
(?:exp) | 匹配exp,不捕获匹配的文本,也不给此组分配组号 |
零宽断言
只是匹配一个位置,而不消耗字符宽度,或者说字符宽度为0,所以叫做零宽断言。
代码 | 说明 |
---|
(?=exp) | 匹配exp前面的位置 |
(?<=exp) | 匹配exp后面的位置 |
(?!exp) | 匹配后面跟的不是exp的位置 |
(? | 匹配前面不是exp的位置 |
注释
(?#comment)
懒惰限定符:
代码 | 说明 |
---|
*? | 重复任意次,但是尽可能少重复 |
+? | 重复一次或者更多次,但是尽可能少重复 |
?? | 重复0次或者1次,但是尽可能少重复 |
{n,m}? | 重复n到m次,但是尽可能少重复 |
{n,}? | 重复至少n次,但是尽可能少重复 |