我正在使用以下正则表达式来验证电子邮件
^\w+([-.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
现在我想修改这个正则表达式以使用{5,100}来验证电子邮件的长度,我该怎么做?
谢谢。
答案 0 :(得分:2)
^(?=.{5,100}$)\w+([-.]\w+)*@\w+([-.]\w+)*\.\w+([-.]\w+)*$
我正在使用零宽度前瞻。它不会消耗字符,因此您可以使用表达式重新检查它们。
答案 1 :(得分:1)
小心点。这是一个相对较弱的表达,甚至匹配 user@server.com.net.org 。电子邮件正则表达式已在许多其他问题中进行了讨论,例如this one。
检查字符串的长度通常可以在您使用的语言/工具中完成。在某些情况下,这可能会更快。作为一个例子(在Perl中):
my $len = length $str;
if ($len < 5 || $len > 100) {
# something is wrong
}