没有特殊限定的时候匹配一个相同的字符
\n | 换行符 |
---|---|
\t | 制表符 |
\字符 | 字符本身 |
能够与多种字符匹配的表达式
区分大小写,大写取反
\d | 0~9中任一字符 |
---|---|
\w | 字母数字下划线,A~Z,a~z,0~9,_ |
\s | 空格、制表符、换行符等任一空白符 |
. | 任何一个字符 |
[]匹配方式,匹配方括号中的任一字符
[ab5@] | 匹配"a"、"b"、"5"或"@" |
---|---|
[^abc] | 匹配"a"、"b"、"c"以外的任一字符 |
[f-k] | 匹配"f"~"k"中的任一字符 |
[^A-F0-3] | 匹配"A"~"F"、"0"~"3"以外的任一字符 |
特殊符号,被包含到中括号中,失去特殊意义,除"^"和"-"以外
标准字符集,除小数点外,如果被包含于中括号,自定义字符集包含该集合。如:
修饰匹配次数的特殊符号
{n} | 表达式重复n次 |
---|---|
{n,m} | 表达式至少n次,至多m次 |
{n,} | 表达式至少n次 |
? | 匹配0或1次 |
+ | 至少1次 |
* | 0次到任意次 |
匹配次数中的贪婪模式(匹配字符越多与好,默认)
匹配次数中的非贪婪模式(匹配字符越少越好,修饰匹配次数的特殊符号后面加"?",例:"\d?")
字符所处的位置,零宽(不占位)
^ | 字符串开始 |
---|---|
$ | 字符串结束 |
\b | 单词边界(前面和后面的字符不全是\w) |
IGNORECASE忽略大小写模式
SINGLELINE单行模式
MULTILINE多行模式
| | 分支结构,表示“或”的关系 |
---|---|
() | 捕获组:1、括号中的作为整体2、取结果时,括号中的内容可以单独得到3、从左括号开始编号,第一个“(”是1,0为整个表达式 |
(?:expression) | 非捕获组,不保存()中的信息,节省内存开支 |
反向引用(\nnn)
对子表达式匹配,匹配内容不计入匹配结果,零宽
(?=exp) | 后面能匹配表达式exp |
---|---|
(?<=exp) | 前面能匹配表达式exp |
(?!exp) | 后面不能匹配表达式exp |
(?<!exp) | 前面不能匹配表达式exp |