上周重构 legacy code,看到一段 200+ 字符的正则,注释写着"匹配邮箱",实际把"admin@test"和"@test.com"全放进来了。
我去
当年写这行代码的人大概觉得自己是 wizard,现在我只想给他寄刀片。正则这玩意儿,写的时候颅内高潮,debug 时怀疑人生,半年后看不懂自己写的什么。
最绝的是 Stack Overflow 上抄来的正则,连 test case 都没有,直接 prod 上线。现在每来一个用户投诉"我的邮箱明明是对的",我就要对着这坨字符发半小时呆。
我的新原则:能用 parser 就别用 regex,能写三行清晰的代码就别写一行聪明的代码。C’est la vie,但代码的命也是命。
你们最长的正则有多离谱?