交互式正则表达式参考表,附带实时模式测试器
零依赖 · 可离线使用🧪 实时正则测试器
🔤 字符类
| . | 任意字符(除换行符) |
| \d | 数字 [0-9] |
| \D | 非数字 [^0-9] |
| \w | 单词字符 [a-zA-Z0-9_] |
| \W | 非单词字符 |
| \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 次 |
| *? | 0 次或多次(惰性) |
| +? | 1 次或多次(惰性) |
| ?? | 0 次或 1 次(惰性) |
📍 锚点与边界
| ^ | 字符串/行首 |
| $ | 字符串/行尾 |
| \b | 单词边界 |
| \B | 非单词边界 |
📦 分组与引用
| (abc) | 捕获分组 |
| (?:abc) | 非捕获分组 |
| (<name>abc) | 命名捕获分组 |
| \1 | 引用第1组 |
| \k<name> | 引用命名分组 |
| | | 交替(或) |
👁️ 断言
| (?=abc) | 正向先行断言 |
| (?!abc) | 负向先行断言 |
| (<=abc) | 正向后行断言 |
| (<!abc) | 负向后行断言 |
⚡ 特殊字符
| \ | 转义特殊字符 |
| \n | 换行符 |
| \t | 制表符 |
| \r | 回车符 |
| \xHH | 十六进制字符 |
| \uHHHH | Unicode 字符 |
🚩 标志位
| g | 全局 — 查找所有匹配 |
| i | 忽略大小写 |
| m | 多行 — ^ 和 $ 匹配行边界 |
| s | Dotall — . 匹配换行符 |
| u | Unicode — 启用 Unicode 支持 |
| y | 粘性 — 从当前位置匹配 |
什么是正则表达式速查表?
正则表达式速查表是一个免费的在线交互式正则表达式参考工具。它提供了正则元字符、量词、锚点、分组、断言和标志位的完整速查表,并附带实时模式测试器。点击参考表中的任意模式即可插入到测试器中。所有处理在浏览器本地完成。
核心功能
- 实时测试器:输入正则模式即可实时测试匹配结果
- 点击插入:点击速查表中的任意模式直接插入到测试器
- 常用模式:内置邮箱、URL、手机号、IP地址验证模板
- 匹配高亮:可视化高亮显示测试文本中的所有匹配
- 分组捕获:显示每个匹配的捕获分组内容
常用正则表达式模式
邮箱:/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/
URL:/^https?:\/\/(www\.)?[a-zA-Z0-9-]+\.[a-zA-Z]{2,}(\/\S*)?$/
手机号:/^1[3-9]\d{9}$/
IP地址:/^\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}$/
正则表达式最佳实践
不需要引用分组时使用非捕获分组 (?:...)。单字符优先使用字符类而非交替([abc] 优于 a|b|c)。使用锚点(^ 和 $)防止部分匹配。注意贪婪量词在大文本上可能导致灾难性回溯。用空字符串和特殊字符等边界情况测试你的模式。
❓ 常见问题
什么是正则表达式?
定义搜索模式的字符序列,用于字符串匹配、验证和文本解析。
贪婪量词和惰性量词的区别?
贪婪(*、+)尽可能匹配更多,惰性(*?、+?)尽可能匹配更少。
什么是先行/后行断言?
零宽断言,检查后续/前置内容但不消费字符。
数据是否上传服务器?
不会。所有正则测试在浏览器本地完成。
支持哪种正则引擎?
JavaScript ECMAScript RegExp,大多数模式与 PCRE、Python、Java 兼容。
如何转义特殊字符?
用反斜杠:\. 匹配字面点号,\\ 匹配字面反斜杠。