\ |
转义:在非特殊字符之前的反斜杠表示下一个字符是特殊的,不能从字面上解释 |
^ |
匹配输入的开始(定位符)eg:/^a/ 将会匹配以a开头的词 |
$ |
匹配输入的结束(定位符)eg:/^a/将会匹配最后一个字母是a的词 ,bccca |
* |
匹配前一个表达式0次或者多次 |
+ |
匹配前一个表达式1次或者多次 |
? |
匹配前一个表达式1次或者0次,如果紧跟在任何量词*、+、?或{}之后,将会使量词变为非贪婪的(匹配尽量少的字符)和缺省使用的贪婪模式(匹配尽可能多的字符)正好相反。eg:对于“123abc"应用/\d+/将会返回”123“,如果使用/\d+?/将会返回”1“ |
. |
匹配除换行符之外的任何单个字符 |
(x) |
匹配x并且记住匹配项 ,x可以是一串字符(包括表达式)eg: "abc def abc def" 匹配模式/(abc) (def) \1 \2/ 其中\1,\2就是记住的匹配项(abc)和(def) |
(?:x) |
匹配x并且不记住匹配项,x可以是一串字符(包括表达式) |
x(?=y) |
匹配‘x‘仅仅当‘x‘后面紧跟着‘y‘ |
(?<=y)x |
匹配‘x‘仅仅当’x‘前面是‘y‘ |
x(?!y) |
匹配‘x‘仅仅当‘x‘后面不是y |
(?<!y)x |
匹配‘x‘仅仅当‘x‘前面不是y |
x|y |
匹配‘x‘或者‘y‘ |
{n} |
n是一个整数,匹配了前面一个字符刚好发生了n次 |
{n,m} |
n和m都是整数,匹配前面的字符至少发生n次,最多m次 |
[xyz] |
一个字符集合,匹配括号中的任意字符 |
[^xyz] |
一个反字符集合,匹配除括号中的字符之外的任意字符 |
[\b] |
匹配一个退格 |
\b |
匹配一个词的边界 /\bm/ 匹配”moooo"中的m,/o\b/匹配“moooo”中的最后一个o |
\B |
匹配一个非单词边界,匹配一个前后字符都是相同类型的位置,eg:/\B../匹配“noonday"中的"oo",/y\B../匹配"possibly yesterday"中的”yes" |
\cx |
当X是处于A-Z之间的字符的时候,匹配字符串中的一个控制符,eg:/\cM/匹配字符串中的control-M(U+000D) |
\d |
匹配一个数字==[0-9] |
\D |
匹配一个非数字==[ ^ 0-9] |
\f |
匹配一个换页符 |
\n |
匹配一个换行符 |
\r |
匹配一个回车符 |
\s |
匹配一个空白字符,包括空格,制表符,换页符,换行符 |
\S |
匹配一个非空白字符 |
\t |
匹配一个水平制表符 |
\v |
匹配一个垂直制表符 |
\w |
匹配一个单字字符(字母、数字、下划线) |
\W |
匹配一个非单字字符 |
\1,\2,\3,\4,\n |
()中捕获的字符 |
\0 |
匹配null字符 |
\xhh |
与代码hh匹配字符(两个十六进制数字) |
\uhhhh |
与代码hhhh匹配字符(4个十六进制数字) |
\u{hhhhh} |
使用Unicode值hhhh匹配字符(十六进制) |