基础元字符
元字符 | 说明 |
|
. | 匹配任意单个字符 |
|
| | 逻辑或操作 |
|
[] | 匹配字符集合中的一个字符 |
|
[^] | 对字符集合求非 | 只有当出现在一个字符集合里被放到[和]之间并紧跟着左方括号[的后面时,才发挥“求非”作用 |
- | 定义一个区间 |
|
\ | 对下一个字符转义 |
|
元字符
任何一个元字符都可以通过加反斜杠作为前缀的办法来转义
匹配空白字符
元字符一般分为两种:一种是用来匹配文本的(比如.);另外一种是正则表达式的语法所要求的(如:[和])
元字符 | 说明 |
---|---|
\d | 任何一个数字字符(等价于[0-9]) |
\D | 任何一个非数字字符(等价于^[0-9] |
\w | 任何一个字母数字字符或下划线字符 等价于[a-zA-Z0-9_] |
\W | 任何一个 非字母数字或非下划线字符 等价于[^a-zA-A0-9_] |
\s | 任何一个空白字符 等价于[\f\n\r\t\v] |
\S | 任何一个非空白字符 等价于[^\f\n\r\t\v ] |
重复匹配
元字符 | 说明 | 备注 |
---|---|---|
+ | 匹配一个或多个字符(或字符集合)最少要匹配一次 |
|
+? | +的懒惰版本 |
|
* | 匹配前零个或任意多个字符(或字符集合)可以没有匹配 |
|
*? | *的懒惰版本 |
|
? | 只能匹配一个字符(或字符集合)的零次或一次出现,最多不超过一次 | 如果同时使用[]和?,千万记得把?放到字符集合的外面 |
{3} | 模式里的前一个字符(或字符集合)必须在原始文本里连续重复出现3次才算一个匹配; |
|
{2,4} | 模式里的前一个字符(或字符集合)必须在原始文本里连续重复出现2-4次才算一个匹配; |
|
{3, } | 模式里的前一个字符(或字符集合)至少重复出现3次 |
|
{n, }? | {3, }的懒惰型 |
|
贪婪型元字符,在进行匹配时是多多益善而不是适可而止的。它们会尽可能从一段文本的开头一直匹配到这段文本的末尾,而不是从这段文本的开头匹配到碰到的第一个匹配时为止。
位置匹配
元字符 | 说明 |
|
---|---|---|
\b | 匹配单词边界(开头和结尾);开头和结尾部分各需要一个\b | \bcat\b |
\B | 不匹配一个单词边界 | \B-\B color - coded 可匹配 color-coded不匹配 |
^ | 定义字符串开头 | 如果在一个字符集合的外面并位于一个模式的开头,^将匹配字符串的开头 |
$ | 定义字符串的结尾 |
|
子表达式
元字符 | 说明 |
|
---|---|---|
() | 子表达式 |
|
|
|
|
回溯引用