正则表达式测试
正在加载计算模块…
关于这个计算器
写正则时最容易踩的两个坑 ——1) 语法错误的正则直接 new RegExp 会抛异常,一个字符输错就让页面白屏可输入:正则表达式、标志(flags)、测试文本、最多显示匹配数。全部在浏览器内计算,数据不上传。
计算说明
本工具为通用开发者工具计算,不涉及法规或国家标准口径,结果仅取决于输入数据本身。
常见问题
查看全部 222 个问题 →为什么正则匹配结果比预期多或少?
三个最常见原因:① 忘了全局标志 `g`,只返回第一个匹配;② 用了 `g` 后反复调用 `test()` 会因 `lastIndex` 累进而漏匹配(本工具每次重置);③ `.` 默认不匹配换行,需要 `s` 标志或改用 `[\s\S]`。
贪婪匹配和懒惰匹配的区别?
`.*` 贪婪(尽可能多匹配),`.*?` 懒惰(尽可能少)。从 `<a><b>` 中提取标签:`<.*>` 匹配整个 `<a><b>`,`<.*?>` 只匹配 `<a>`。想「匹配到最近的结束符」就必须用懒惰。
正则表达式会导致性能问题吗?
会,叫「灾难性回溯」(Catastrophic Backtracking)。像 `(a+)+$` 这样的嵌套量词,遇到不匹配的长字符串时可能耗尽 CPU。攻击者可利用这一点做 ReDoS 攻击。避免方法:少用嵌套量词、加锚点限制范围、对长输入设长度上限。
同专题的其他工具
- JSON 格式化 / 校验 在线格式化、压缩、校验 JSON。语法错误会精确指出第几行第几列
- 时间戳转换器 时间戳与日期双向转换
- URL 编码解码 URL 中文参数编解码
- Base64 编解码 文本与 Base64 互转。已处理中文的 UTF-8 编码问题(浏览器原生 btoa 直接处理中文会抛错)
- Unicode 转义还原 把 \u4e2d\u6587 这种转义序列还原成中文
- Cron 表达式解释 运维天天在写 `0 9 * * 1-5`
- 文本差异对比 改配置、对文案、核接口返回时
- MD5 哈希生成 WebCrypto(crypto.subtle.digest)根本不支持 MD5 ——它只提供 SHA-1/SHA-2 系列可输入:输入文本、输出大写(32 位 → 32 位大写)。全部在浏览器内计算
- HTTP 状态码查询 接口返回 502 / 504 / 499 时
- JWT 解码 调试接口时手上只有一个 JWT
- URL 结构解析 排查「接口 404」「跳转丢了参数」「中文参数乱码」时
计算结果仅供参考,不构成专业意见。所有计算在浏览器内完成,输入数据不上传服务器。