字符 |
说明 |
^ |
匹配文本行的开始 |
$ |
$0...$9 属性从结果“匹配”集合中检索捕获的匹配 |
|
转义字符,转义字符即给原来的字符以特殊的含义 |
* |
零次或者多次匹配前面的字符或者子表达式 |
+ |
至少一次匹配前面的字符串或者子表达式 |
? |
跟在字符串或者子表达式后面时表示至多一匹配一次,即零次或者一次匹配前面的字符串或者子表达式 跟在其他的限定符(*、+、?、{n}、{n,}、{n,m})之后,表示匹配的模式是非贪心模式,贪心模式尽可能匹配长的字符串,而非贪心模式则匹配最短的字符串 |
{n} |
精确匹配n次前面的字符串或者子表达式 |
{n,} |
至少匹配n次前面的字符串或者子表达式 |
{n,m} |
至少匹配n次,至多匹配m次 |
(pattern) |
匹配表达式,并进行捕获,可以从结果集中使用$0...$9 属性从结果“匹配”集合中检索捕获的匹配 |
(?:pattern) |
匹配 pattern 但不捕获该匹配的子表达式 |
(?=pattern) |
执行正向预测先行搜索的子表达式,该表达式匹配处于匹配 pattern 的字符串的起始点的字符串。它是一个非捕获匹配,即不能捕获供以后使用的匹配。例如,“Windows (?=95| 98| NT| 2000)”与“Windows 2000”中的“Windows”匹配,但不与“Windows 3.1”中的“Windows”匹配。预测先行不占用字符,即发生匹配后,下一匹配的搜索紧随上一匹配之后,而不是在组成预测先行的字符后。 |
(?!pattern) |
执行反向预测先行搜索的子表达式,该表达式匹配不处于匹配 pattern 的字符串的起始点的搜索字符串。它是一个非捕获匹配,即不能捕获供以后使用的匹配。例如,“Windows (?!95| 98| NT| 2000)”与“Windows 3.1”中的“Windows”匹配,但不与“Windows 2000”中的“Windows”匹配。预测先行不占用字符,即发生匹配后,下一匹配的搜索紧随上一匹配之后,而不是在组成预测先行的字符后。 |
| |
表示或的关系:x|y与 x 或 y 匹配,“(z| f)ood”与“zood”或“food”匹配。 |
[……] |
匹配字符集,例如:[abc]匹配a或者b或者c,如果元字符在字符集内的时候可能表示不同的含义 |
[^……] |
匹配反向字符串,即匹配不包含在字符集中的字符 |
[a-z] |
匹配范围,匹配a到z之间的字符,还可以[0-9] |
[^a-z] |
匹配反向字符范围 |
b |
匹配边界字符,例如,“erb”匹配“never”中的“er”,但不匹配“verb”中的“er”。 |
B |
匹配非边界字符 |
d |
数字字符匹配 |
D |
匹配非数字字符 |
s |
匹配空白字符 |
S |
匹配非空白字符 |
w |
匹配任何字类字符[a-zA-Z0-9] |
W |
匹配非字类字符 |
. |
匹配任意字符 |
&; |
单词的开头 |
&; |
单词的结尾 |