正则表达式速查表
字符类
| \d | 数字 | 0-9 |
| \w | 单词字符 | a-z, A-Z, 0-9, _ |
| \s | 空白字符 | 空格、Tab、换行 |
| . | 任意字符 | 换行符除外 |
| \D | 非数字 | \d 的反义 |
| \W | 非单词字符 | \w 的反义 |
| \S | 非空白字符 | \s 的反义 |
| [abc] | 字符集 | 匹配 a、b 或 c |
| [^abc] | 排除字符集 | 不是 a、b 或 c |
| [a-z] | 范围 | a 到 z |
量词
| * | 0 次或多次 | 贪婪匹配 |
| + | 1 次或多次 | 贪婪匹配 |
| ? | 0 次或 1 次 | 可选 |
| {n} | 恰好 n 次 | 例如 {3} |
| {n,} | 至少 n 次 | 例如 {2,} |
| {n,m} | n 到 m 次 | 例如 {1,3} |
| *? | 懒惰匹配 | 尽可能少匹配 |
| +? | 懒惰匹配 | 尽可能少匹配 |
锚点
| ^ | 开头 | 行的开始位置 |
| $ | 结尾 | 行的结束位置 |
| \b | 单词边界 | \w 与 \W 之间 |
| \B | 非单词边界 | \b 的反义 |
分组与环视
| (abc) | 捕获组 | 捕获匹配内容 |
| (?:abc) | 非捕获组 | 分组但不捕获 |
| | | 或 | 例如 cat|dog |
| \1 | 反向引用 | 引用第 1 组 |
| (?=...) | 正向先行断言 | 后面是 ... |
| (?!...) | 负向先行断言 | 后面不是 ... |
| (?<=...) | 正向后行断言 | 前面是 ... |
| (?<!...) | 负向后行断言 | 前面不是 ... |
常用示例
| ^\w+@\w+\.\w+$ | 邮箱 |
| ^\d{3}-\d{4}$ | 电话(xxx-xxxx) |
| ^#[0-9a-fA-F]{6}$ | 十六进制颜色 |
| ^\d{4}-\d{2}-\d{2}$ | 日期(YYYY-MM-DD) |
| ^https?://[\w.-]+ | 网址 |
| ^\d{17}[\dXx]$ | 身份证号 |