启宇工具集

正则表达式测试

正在加载计算模块…

关于这个计算器

写正则时最容易踩的两个坑 ——1) 语法错误的正则直接 new RegExp 会抛异常,一个字符输错就让页面白屏可输入:正则表达式、标志(flags)、测试文本、最多显示匹配数。全部在浏览器内计算,数据不上传。

计算说明

本工具为通用开发者工具计算,不涉及法规或国家标准口径,结果仅取决于输入数据本身。

本工具数据更新:2026-10-18

为什么正则匹配结果比预期多或少?
三个最常见原因:① 忘了全局标志 `g`,只返回第一个匹配;② 用了 `g` 后反复调用 `test()` 会因 `lastIndex` 累进而漏匹配(本工具每次重置);③ `.` 默认不匹配换行,需要 `s` 标志或改用 `[\s\S]`。
贪婪匹配和懒惰匹配的区别?
`.*` 贪婪(尽可能多匹配),`.*?` 懒惰(尽可能少)。从 `<a><b>` 中提取标签:`<.*>` 匹配整个 `<a><b>`,`<.*?>` 只匹配 `<a>`。想「匹配到最近的结束符」就必须用懒惰。
正则表达式会导致性能问题吗?
会,叫「灾难性回溯」(Catastrophic Backtracking)。像 `(a+)+$` 这样的嵌套量词,遇到不匹配的长字符串时可能耗尽 CPU。攻击者可利用这一点做 ReDoS 攻击。避免方法:少用嵌套量词、加锚点限制范围、对长输入设长度上限。

同专题的其他工具

← 返回「开发工具」专题

计算结果仅供参考,不构成专业意见。所有计算在浏览器内完成,输入数据不上传服务器。