请在下面找到我用来验证电子邮件地址的正则表达式。这工作正常。
^[-!#$%&\\'*+\\\\./<MORE_REGEX_HERE>^_`a-z{|}~]+$
现在我想在这个正则表达式中添加长度检查,例如电子邮件地址的最大长度为60.所以我尝试了类似下面的内容
^([-!#$%&\\'*+\\\\./<MORE_REGEX_HERE>^_`a-z{|}~]+){1,60}$
但它不起作用。有什么想法吗?
答案 0 :(得分:1)
如果有效,你可以找到以下解决方案: -
可能是因为您在一个
中有多个匹配的字符串^ [! - 。#$%&安培; \'* + \\] + [^ _`A-Z {|}〜] + $
在这种情况下你不能使用^ [ - !#$%&amp; \'* + \\。] + [^ _` a-z {|}〜] {1,60} $
匹配整个字符串,但它只匹配字符串的第二部分,在这种情况下你需要使用下面的正则表达式: -
[^[-!#$%&\\'*+\\\\.]+[<MORE_REGEX_HERE>^_`a-z{|}~]+$]{1,60}
尝试它现在应该工作。
答案 1 :(得分:0)
如果您想要一种验证电子邮件的有效方法,请尝试以下方法: Good solution
使用{n,m}匹配n(最小值)和m(最大值)字符。
答案 2 :(得分:0)
使用lookahead断言:
^(?=[-!#$%&\\'*+\\\\./<MORE_REGEX_HERE>^_`a-z{|}~]+).{1,60}$