正则表达式性能测试器
在浏览器中真实执行正则并计时,统计匹配次数,静态检测嵌套量词等灾难性回溯风险模式,附改写建议,防线上正则卡死。
免费在线工具
Loading…
使用说明
在「正则表达式」输入框填写要测试的正则,选择标志位(g、gi、gm、gim 等),在「测试文本」中粘贴用于匹配的文本。输入时即自动进行回溯风险分析:若检测到嵌套量词、多重重复等危险模式,会显示风险等级和对应描述,并给出改写建议。点击「执行测试」会在浏览器中实际运行该正则并计时,展示匹配次数、执行耗时和前10个匹配结果;若发生超时或耗时超过1秒,会给出明显警告。
功能介绍
- 在浏览器中真实执行正则并统计匹配次数与耗时
- 静态检测灾难性回溯风险模式,划分无、低、中、高、极高五级风险
- 对风险模式逐条说明原因并给出改写建议
- 展示前10个匹配结果,匹配过多时提示剩余数量
- 超时与耗时超1秒自动告警,内置安全与危险示例对比
使用场景
上线前正则体检
在代码评审或发布前测试用户输入触发的正则,排查可能导致服务卡死的灾难性回溯
日志与文本解析正则调优
对日志解析、数据清洗用的正则做基准测试,比较不同写法的耗时差异
学习回溯风险
用内置的「危险示例」(a+)+b 直观感受灾难性回溯,理解嵌套量词为何危险
表单校验正则验证
验证邮箱、手机号等表单校验正则的匹配行为与性能,确保用户输入不会拖垮页面
常见问题
测试是在本地运行吗?
是的,正则匹配和计时都在浏览器本地完成,文本不会上传,可放心粘贴敏感数据
什么是灾难性回溯?
当正则含嵌套量词(如 (a+)+b)而文本不匹配时,引擎可能尝试指数级组合路径导致卡死,工具会静态检测这类模式并给出警告
支持哪些标志位?
提供 g、gi、gm、gim 四组常用组合,也可选择「无」不带任何标志位
执行超时怎么办?
工具对测试设有超时保护,超时会提示可能进入灾难性回溯;建议改用非贪婪或原子化写法,或换成更安全的替代方案