普通常用的符号
\ | 有数种用途的通用转义符 |
^ | 断言目标的开头(或在多行模式下行的开头,即紧随一换行符之后) |
$ | 断言目标的结尾(或在多行模式下行的结尾,即紧随一换行符之前) |
. | 匹配除了换行符外的任意一个字符(默认情况下) |
[ | 字符类定义开始 |
] | 字符类定义结束 |
| | 开始一个多选一的分支 |
( | 子模式开始,可以存储匹配结果 |
) | 子模式结束,可以存储匹配结果 |
? | 扩展 ( 的含义,也是 0 或 1 数量限定符,以及数量限定符最小值 |
* | 匹配 0 个或多个的数量限定符,量词 |
+ | 匹配 1 个或多个的数量限定符,量词 |
{ | 最少/最多数量限定开始 |
} | 最少/最多数量限定结束 |
^ |
排除字符类,但仅当其为第一个字符时有效 |
- |
指出字符范围 |
\d |
任一十进制数字 |
\D |
任一非十进制数的字符 |
\s |
任一空白字符 |
\S |
任一非空白字符 |
\w |
任一“字”的字符,字母,数字,下划线 |
\W |
任一“非字”的字符,,字母,数字,下划线 |
\b |
字分界线 |
\B |
非字分界线 |
\A |
目标的开头(独立于多行模式) |
\Z |
目标的结尾或位于结尾的换行符前(独立于多行模式) |
\z |
目标的结尾(独立于多行模式) |
\G |
目标中的第一个匹配位置 |
(?:exp) | 子模式匹配但是不保存结果 |
(?=exp) | 肯定式后断言 |
(?!exp) | 否定式后断言 |
(?<=exp) | 确定式前断言 |
(?<!exp) | 否定式前断言 |
(?>exp) | 一次性匹配模式,不回溯 |
(?[修正符]exp) | 动态启用修正符 |
(?(exp_c)exp|exp) 或者 (?(exp_c)exp) | 条件式判断 |
exp量词? | 量词通配符后追加 ?表示非贪婪模式 |
递归模式 |