有两个串行服务,一个是go写的,一个是Python写的。都使用正则验证邮箱地址,发现两个代码验证的结果不一致,现在想统一验证效果。go 中 的正则表达式:(govalidatirs)希望Python也能实现同样的验证效果(不能改go的代码,也不能取消验证)有什么方式实现正则的翻译吗,直接使用上面的表达式是不行的
1 回答
函数式编程
TA贡献1807条经验 获得超9个赞
"^(((([a-zA-Z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\x00A0-\xD7FF\xF900-\xFDCF\xFDF0-\xFFEF])+(\.([a-zA-Z]|\d|[!#\$%&'\*\+\-\/=\?\^_`{\|}~]|[\x00A0-\xD7FF\xF900-\xFDCF}\xFDF0}-\xFFEF])+)*)|((\x22)((((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(([\x01-\x08\x0b\x0c\x0e-\x1f\x7f]|\x21|[\x23-\x5b]|[\x5d-\x7e]|[\x00A0-\xD7FF\xF900-\xFDCF\xFDF0-\xFFEF])|(\([\x01-\x09\x0b\x0c\x0d-\x7f]|[\x00A0-\xD7FF\xF900-\xFDCF\xFDF0-\xFFEF]))))*(((\x20|\x09)*(\x0d\x0a))?(\x20|\x09)+)?(\x22)))@((([a-zA-Z]|\d|[\x00A0-\xD7FF\xF900-\xFDCF\xFDF0-\xFFEF])|(([a-zA-Z]|\d|[\x00A0-\xD7FF\xF900-\xFDCF\xFDF0-\xFFEF])([a-zA-Z]|\d|-|\.|_|~|[\x00A0-\xD7FF\xF900-\xFDCF\xFDF0-\xFFEF])*([a-zA-Z]|\d|[\x00A0-\xD7FF\xF900-\xFDCF\xFDF0-\xFFEF])))\.)+(([a-zA-Z]|[\x00A0-\xD7FF\xF900-\xFDCF\xFDF0-\xFFEF])|(([a-zA-Z]|[\x00A0-\xD7FF\xF900-\xFDCF\xFDF0-\xFFEF])([a-zA-Z]|\d|-|_|~|[\x00A0-\xD7FF\xF900-\xFDCF\xFDF0-\xFFEF])*([a-zA-Z]|[\x00A0-\xD7FF\xF900-\xFDCF\xFDF0-\xFFEF])))\.?$"
python用这个,这是根据你那个go的改的,效果一样。但其实验证邮箱的没必要写这么复杂
- 1 回答
- 0 关注
- 210 浏览
添加回答
举报
0/150
提交
取消