如何修改此电子邮件的正则表达式?目前我的正则表达式不允许使用撇号:
"^[A-Za-z0-9_\\-\\.]+[@]([A-Za-z0-9\\-\\.]+)+[\\.]([A-Za-z]{2,4})$";
现在我想要添加撇号,但请求只允许@符号前的1个撇号。
我试着用这个:
"^([A-Za-z0-9_\\-\\.]+[']{0,1})+[@]([A-Za-z0-9\\-\\.]+)+[\\.]([A-Za-z]{2,4})$";
它允许撇号输入,但是我可以在@符号
之前输入超过1个撇号结果:
test''test@yahoo.com
- >不允许
test'tes't@yahoo.com
- >允许(预计不允许)
预期结果是@符号前只允许一个撇号。
答案 0 :(得分:0)
这是你的正则表达式的修改版本:
"^([A-Za-z0-9_\\-\\.]*?)'?([A-Za-z0-9_\\-\\.]+)[@]([A-Za-z0-9\\-\\.]+)+[\\.]([A-Za-z]{2,4})$";
它的工作方式是 - 它允许可选字符,然后是可选的撇号,然后是非可选字符。
唯一的缺点是你不能拥有'在@之前的权利(撇号后至少2个字符)这可以调整得更多,但我真的没有看到任何一点