我有两个正在尝试合并的正则表达式。一个是特定于电子邮件,另一个是检查某些特殊字符。经过多次玩弄后,我已经达到了这个解决方案:
"^([-0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4}|[\\w\\-ÀÈÌÒÙàèìòùÁÉÍÓÚÝáéíóúýÂÊÎÔÛâêîôûÃÑÕãñõÄËÏÖÜŸäëïöüŸçÇŒœßØøÅåÆæÞþÐð _]){0,80}$"
它似乎确实检查了我需要它,但是例如以下内容仍然有效:abc@foo
它不会强制使用完整的电子邮件地址。
我使用正确的方法还是有更简单的方法来构建此RegEx?我正在使用正则表达式进行学习,因此所有建议都值得赞赏。
答案 0 :(得分:1)
将乘数{0,80}
移到括号内:
"^([-0-9a-zA-Z.+_]+@[-0-9a-zA-Z.+_]+\.[a-zA-Z]{2,4}|[\\w\\-ÀÈÌÒÙàèìòùÁÉÍÓÚÝáéíóúýÂÊÎÔÛâêîôûÃÑÕãñõÄËÏÖÜŸäëïöüŸçÇŒœßØøÅåÆæÞþÐð _]{0,80})$"
// here __^^^^^^^
同样[a-zA-Z]{2,4}
验证顶级域名(TLD)真的很差,请查看IANA。
me@localhost
是有效的电子邮件地址。