开发者指南
正则表达式上线前检查清单
一个正则在单个样本上可用,并不代表生产环境安全。上线前应测试应匹配、不应匹配、边界、Unicode 行为和性能风险。
列出应匹配和不应匹配样本
保留一个小表格,包含应通过和应失败的值。样本要覆盖短、长、空、畸形和接近生产数据的情况。
检查捕获组
如果代码依赖捕获组,应确认分组顺序和可选分组。一次小改动就可能改变组号,影响后续解析。
测试边界
检查前后空白、标点、换行、Tab、路径分隔符和重复分隔符。校验器和日志过滤中很容易出现边界错误。
考虑 Unicode 和语言环境
姓名、URL、域名和文本字段可能包含非 ASCII 字符。应明确正则是接受还是拒绝,并在说明中记录。
复查性能风险
嵌套重复和过宽通配符可能导致长输入匹配缓慢。用长字符串测试,并避免严重回溯的模式。
相关工具
Regex Tester 可本地测试匹配;用 Diff Checker 审查正则变更。