/pattern/flags 字面量或裸 pattern,非法正则会给出明确错误提示而不会崩溃。更多字符串方法见 字符串常用方法词条。| 写法 | 含义 |
|---|---|
. | 匹配除换行符外任意一个字符(s 标志下含换行) |
\d | 匹配数字 0-9,等价 [0-9] |
\D | 匹配非数字 |
\w | 匹配字母、数字、下划线 |
\W | 匹配非单词字符 |
\s | 匹配空白符(空格、制表、换行等) |
\S | 匹配非空白符 |
\b | 单词边界,单词与标点/空格的交界 |
\B | 非单词边界 |
^ | 匹配字符串开始(m 标志下每行行首) |
$ | 匹配字符串结束(m 标志下每行行尾) |
* | 前面的元素出现 0 次或多次 |
+ | 前面的元素出现 1 次或多次 |
? | 前面的元素出现 0 次或 1 次(也可关闭贪婪) |
{n} | 前面的元素恰好出现 n 次 |
{n,} | 前面的元素至少出现 n 次 |
{n,m} | 前面的元素出现 n 到 m 次 |
[abc] | 字符集,匹配 a、b、c 中任意一个 |
[^abc] | 否定字符集,匹配除 a、b、c 外任意字符 |
(a|b) | 分组并匹配 a 或 b |
(abc) | 捕获组,可用 $1 反向引用 |
(?:abc) | 非捕获组,不占用组编号 |
\1 | 反向引用第一个捕获组 |
(?=x) | 先行断言:后面紧跟 x |
(?!x) | 先行否定断言:后面不是 x |
(?<=x) | 后行断言:前面紧跟 x |
(?<!x) | 后行否定断言:前面不是 x |