766113 工具箱
Regex

正则测试的稳妥流程:先样本,再边界,最后上线

正则表达式最容易给人一种“已经匹配到了,所以没问题”的错觉。真正可靠的正则,需要同时证明它不会匹配错对象。

写正则前先准备样本。样本至少分两类:应该匹配的正例,以及不应该匹配的反例。只拿一个成功样本调到绿色,很容易漏掉空格、换行、大小写、全角字符和前后缀。

第二步是控制贪婪匹配。像 .* 这样的模式很方便,但在 HTML 片段、日志行和多段文本里可能吃掉远超预期的内容。能使用明确字符集时,就不要用过宽的通配。

第三步是确认运行环境。JavaScript、Python、Go、Nginx、数据库和日志平台的正则特性不完全一致。在线工具测试通过,不代表放到目标环境就完全一致,尤其是命名捕获、回溯、Unicode 类和多行模式。

上线前检查