正则表达式速查表
JavaScript正则表达式常用语法速查表,方便快速查阅。
字符类
| . | 匹配除换行符外的任意单个字符 |
| \d | 匹配数字 [0-9] |
| \D | 匹配非数字 [^0-9] |
| \w | 匹配单词字符 [a-zA-Z0-9_] |
| \W | 匹配非单词字符 [^a-zA-Z0-9_] |
| \s | 匹配空白符 (空格、制表符、换行等) |
| \S | 匹配非空白符 |
| [abc] | 匹配 a、b 或 c 中的任意一个 |
| [^abc] | 匹配除 a、b、c 以外的任意字符 |
| [a-z] | 匹配 a 到 z 范围内的任意字符 |
量词
| * | 重复零次或多次 (等价于 {0,}) |
| + | 重复一次或多次 (等价于 {1,}) |
| ? | 重复零次或一次 (等价于 {0,1}) |
| {n} | 重复 n 次 |
| {n,} | 重复至少 n 次 |
| {n,m} | 重复 n 到 m 次 |
| *? | 非贪婪匹配,尽可能少的重复 |
| +? | 非贪婪匹配,尽可能少的重复 |
| ?? | 非贪婪匹配,尽可能少的重复 |
分组与捕获
| (pattern) | 捕获组,并记录匹配的内容 |
| (?:pattern) | 非捕获组,仅分组但不捕获 |
| (? | 命名捕获组 (ES2018) |
| \n | 反向引用,引用第 n 个捕获组 |
| \k | 反向引用命名捕获组 |
边界断言
| ^ | 匹配输入的开始位置 |
| $ | 匹配输入的结束位置 |
| \b | 匹配单词边界 |
| \B | 匹配非单词边界 |
零宽断言
| (?=pattern) | 正向肯定前瞻,后面必须匹配 pattern |
| (?!pattern) | 正向否定前瞻,后面不能匹配 pattern |
| (?<=pattern) | 反向肯定后顾,前面必须匹配 pattern (ES2018) |
| (? | 反向否定后顾,前面不能匹配 pattern (ES2018) |
修饰符
| g | 全局匹配,找到所有匹配而非在第一个之后停止 |
| i | 忽略大小写 |
| m | 多行模式,^ 和 $ 匹配每行的开始和结束 |
| s | 单行模式,允许 . 匹配换行符 |
| u | Unicode 模式,正确处理 Unicode 码点 |
| y | 粘性模式,从 lastIndex 位置开始匹配 |
特殊字符转义
| \^ \$ \. \* \+ \? \| \\ \[ \{ \( | 需要转义的特殊字符 |
| \t | 制表符 |
| \n | 换行符 |
| \r | 回车符 |
| \f | 换页符 |
| \v | 垂直制表符 |
| \cX | 控制字符 Ctrl-X |
| \xhh | 十六进制字符 hh |
| \uhhhh | Unicode 字符 (ES5) |
| \u{hhhh} | Unicode 码点 (ES2015,需 u 标志) |
常用模式示例
| /^\d+$/ | 匹配纯数字字符串 |
| /^\w+$/ | 匹配单词字符字符串 |
| /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/ | 简单邮箱验证 |
| /^https?:\/\/[\w\-]+(\.[\w\-]+)+[/#?]?.*$/ | 简单 URL 验证 |
| /^1[3-9]\d{9}$/ | 中国大陆手机号(简单) |
| /^\d{17}[\dXx]$/ | 身份证号(18位) |
正则表达式速查表 - 工具简介
本工具整理了 JavaScript 正则表达式的常用语法,按功能分类展示,方便快速查阅。所有语法均基于 ECMAScript 规范,并标注了需要较高版本支持的特性(如命名捕获组、后顾断言)。
使用说明
- 浏览各个分类卡片,找到所需的语法。
- 点击语法或说明可复制(如需复制功能可自行添加)。
- 注意:部分高级特性(如命名捕获组、后顾断言)需要 ES2018 支持。
提示:配合 Regex Tester 可实时测试您的正则表达式。