\ 将字符变为特殊或非特殊字符。如 n 变为换行符 \n,特殊符号 ( 变为字符 (。
^ 匹配字符串起始位置。
$ 匹配字符串结束位置。
- 匹配前面的子表达式零到多次。
- 匹配前面的子表达式一到多次。
? 匹配前面的子表达式零到一次。
{n} 匹配前面的子表达式的n个,如 o{2} 能够匹配 food 不能匹配 god。
{n,} 至少匹配n个前面的子表达式,如 o{2,} 能够匹配 fooooood 不能匹配 god。
{n, m} 至少匹配n次,至多匹配m次。
非贪婪模式 默认为贪婪模式,如 o+ 将匹配 foooood 的所有 o。而非贪婪模式(在匹配符后面加 ?),如 o+? 则只会匹配一个o
. 匹配除换行符外任何单个字符。换行符为 \n 和 \r。
(x) 捕获括号,匹配并记住匹配项。
(?:x) 非捕获括号,匹配并不记住匹配项。如 /(?:foo){1,2}/,这里将 foo 作为一个整体进行匹配1到2次。
x(?=y) 匹配x仅仅在x后面跟y的时候。?=y 表示字符串末尾是y。
x(?!y) 匹配x仅仅在x后面不跟着y的时候。?!y 表示字符串末尾不是y。
x|y 匹配 x 或 y,如 jack|rose 就可以匹配到 jack 和 rose 两个字符串。
[xyz] 匹配方括号内任意字符。
[^xyz] 反向字符集,匹配除方括号内字符的任意字符。
[0-9] 范围匹配,匹配0-9范围内任意字符。
\w 查找单词字符。单词字符包括:a-z、A-Z、0-9,以及下划线。
\W 查找非单词字符。
\d 查找数字字符。
\D 查找非数字字符。
\s 查找空白字符。空白字符包括空格、\n、\f、\r、\t、\v。
\S 查找非空白字符。
\b 匹配单词边界,通常匹配单词开头和结尾。如 /\bcd/ 匹配 cdkey。
\B 匹配非单词边界。如 /\Bcd/ 匹配 abcd。
\O 查找 NULL 字符。
\n 换行符。
\f 换页符。
\r 回车符。
\t 制表符。
\v 垂直制表符。