【发布时间】:2009-09-29 09:26:26
【问题描述】:
有人可以用 C# 编写一个正则表达式来让我验证以下电子邮件吗?
aa@bb.com;cc@dfs.com;asdf@fasdf.com;sdfsdf@fsaf.com;
每个电子邮件地址都用“;”分隔,我写了以下正则表达式:
^(([0-9a-zA-Z]([-\.\w]*[0-9a-zA-Z])*@([0-9a-zA-Z][-\w]*[0-9a-zA-Z]\.)+[a-zA-Z]{2,9});)*$
当使用这个正则匹配一个字符串时,可能会导致死循环,为什么?
提前致谢!
【问题讨论】:
-
你有“死循环”的具体例子吗?
-
我敢打赌,当他拥有一长串电子邮件地址并且缺少最后一个分号时,他会看到正则表达式引擎挂起。