首页 / 指南中心 / 正则表达式上线前复核:匹配、反例和性能边界

正则表达式上线前复核:匹配、反例和性能边界

提供正则表达式上线前的检查清单,覆盖反例、flags、转义、换行和回溯性能风险。 包含使用场景、输入输出检查、常见错误和相关工具入口,适合复制结果前快速复核。

不要只准备能匹配的样例

正则表达式最常见的上线风险,是只验证了应该匹配的字符串,没有验证不应该匹配的字符串。邮箱、URL、价格、版本号、日志行、配置键和用户输入都可能有边界情况。每条规则至少需要准备正例、反例、空输入、异常长度、包含换行的输入和包含特殊字符的输入。

上线前检查项

目标运行时差异

不同语言的正则语法并不完全一致。JavaScript、Python、Java、PHP、Go 和数据库正则在命名捕获、lookbehind、Unicode 类、换行处理和 flags 上可能不同。在线测试器能帮助设计思路,但上线前必须在目标语言和目标版本里运行同一批样例。

复核输出

把最终正则和样例一起记录在 issue 或文档里,说明它用于过滤、提取、校验还是高亮。用途不同,允许的宽松程度也不同;过滤规则过宽会放过错误输入,提取规则过窄会漏掉合法数据。

相关工具和延伸阅读