一、正则基础字符:
元字符 | 名称 | 匹配对象 |
---|---|---|
. | 点号(dot) | 单个任意字符 |
\n | 换行(newline) | 换行 |
\r | 回车(return) | 回车 |
\t | 制表符(Tab) | 制表符 |
[...] | 字符组(Character Class) | 列出的任意字符 |
[^...] | 排除型字符组(Negated Character Class) | 未列出的任意字符 |
\d | 数字(digit) | 数字 |
\D | 非数字 | |
\w | 单词(word) | 单词字符 |
\W | 非单词字符 | |
\s | 空白字符(whitespace) | 空白字符 |
\S | 非空白字符 | |
^ | 脱字符(caret) | 行的起始位置 |
$ | 美元符(dollar) | 行的结束位置 |
< | 单词的起始位置 | |
> | 单词的结束位置 | |
\b | 边界(Boundary) | 单词边界 |
\B | 非单词边界 | |
(?=...) | 肯定顺序环视(Positive Lookahead) | 成功如果右边能够匹配 |
(?!...) | 否定顺序环视(Negative Lookahead) | 成功如果右边不能够匹配 |
(?<=...) | 肯定逆序环视(Positive Lookbehind) | 成功如果左边能够匹配 |
(?<!...) | 否定逆序环视(Negative Lookbehind) | 成功如果左边不能够匹配 |
X? | 贪婪匹配 | 匹配X 0次或1次 |
X* | 贪婪匹配 | 匹配X 0次或无数次 |
X+ | 贪婪匹配 | 匹配X 1次或无数次 |
X{n} | 贪婪匹配 | 匹配X n次 |
X{n,} | 贪婪匹配 | 匹配X 至少n次 |
X{n,m} | 贪婪匹配 | 匹配X 至少n次至多m次 |
X?? | 非贪婪匹配 | 匹配X 0次或1次 |
X*? | 非贪婪匹配 | 匹配X 0次或无数次 |
X+? | 非贪婪匹配 | 匹配X 1次或无数次 |
X{n}? | 非贪婪匹配 | 匹配X n次 |
X{n,}? | 非贪婪匹配 | 匹配X 至少n次 |
X{n,m}? | 非贪婪匹配 | 匹配X 至少n次至多m次 |
(...) | 圆括号(parenthese) | 分组子表达式和记录它包含的字表达匹配的内容 |
(?:...) | 分组子表达式 | |
\1 - \9 | 后向引用 | |
| | 竖线(bar) | 匹配分割两边的任意一个表达式 |
(...) | 分组 | |
(?:...) | 分组 | |
(?>…) | 固化分组 |
二、字符组集合运算
字符组 | 运算 | 匹配对象 |
---|---|---|
[a-d[m-p]] | 并集 | 等同于[a-dm-p] |
[a-z&&[def]] | 交集 | 匹配d, e 或 f |
[a-z&&[^bc]] | 补集 | 等同于[ad-z] |
网友评论