中括号外的内容
翻译字符要是用“\\”,不能只写一个,以下的内容中的符号“\”在写正则表达式时均应该写成“\\”
x|y:x或者y,其中x和y都是字符串,以x为例,x为"|“左侧第一个字符到字符串的开头或者遇到了括号或者遇到了另一个”|"
中括号外的加号代表的是正闭包,不是逻辑连接词"或"
".“代表的是”\n"之外的任意内容
“(“和”)“并不是单个字符,而是为了修改运算顺序,需要用”\\(“或者”\\)“来表示单个字符,同理还有”*”,"+"等
大括号中的内容
abc{n}:ab后面跟着n个c
abc{n,}:ab后面跟着至少n个c
abc{n,m}:ab后面跟着不少于n个并且不多于m个c
中括号中的内容
[abc]:abc是单个字符,字符串的对应位置只要与其中一个字符匹配即可,以[ab]cde为例,当输入串为acde或者bcde时便可通过匹配
[^abc]:反向字符串集,字符串的对应位置不能为中括号中的字符
[a-z]:字符范围,表示a到z的任何一个字符
[a-zA-Z]:与上类似,表示a到z或者A到Z,同理有[a-zA-Z0-9_],表示为a-z或者A-Z或者0-9或者下划线
中括号中的"+“,”*“,”|“,”?“,”(“,”)“,”.“均无特殊含义,只是普通字符,”-“如果两遍都有字符,则会有特殊含义,否则会代表普通的减号,”\"仍然有特殊含义
[a-d[m-p]]:即为[a-dm-p]
[a-z&&[def]]:a-z和[def]的交集,"&&"为两侧取交集的意思
特殊符号(均在中括号外使用)
\d [0-9]
\D [^0-9]
\s 空格、制表符、换行符
\S [^\s]
\w [a-zA-Z_0-9]
\W [^\w]
\b 匹配一个字边界,即字与空格间的位置。例如,“er\b"匹配"never"中的"er”,但不匹配"verb"中的"er"
\B 非字边界匹配。“er\B"匹配"verb"中的"er”,但不匹配"never"中的"er"
\f 换页符匹配。等效于 \x0c 和 \cL
\n 换行符匹配。等效于 \x0a 和 \cJ
\r 匹配一个回车符。等效于 \x0d 和 \cM
\t 制表符匹配。与 \x09 和 \cI 等效
\v 垂直制表符匹配。与 \x0b 和 \cK 等效
* 零次或多次匹配前面的字符或子表达式。例如,zo* 匹配"z"和"zoo"。* 等效于 {0,}
+ 一次或多次匹配前面的字符或子表达式。例如,"zo+"与"zo"和"zoo"匹配,但与"z"不匹配。+ 等效于 {1,}
? 零次或一次匹配前面的字符或子表达式。例如,"do(es)?“匹配"do"或"does"中的"do”。? 等效于 {0,1}