Find centralized, trusted content and collaborate around the technologies you use most.
Teams
Q&A for work
Connect and share knowledge within a single location that is structured and easy to search.
是否可以编写一个模式来检查字符的连续出现
应该匹配
"ap@l.com","apc@l.com"
它不应该匹配
“a..p@k.com”。
基本上我需要这个来检查电子邮件地址是否有效
有什么建议么?
如果语言支持它,您可以使用否定的look-ahead 和look-behind:
(?<!\.)\.(?!\.)
这将只匹配一个不在一个时期之后或之前的时期。在这里查看它的实际应用。
您可以反转正则表达式以匹配>1点 - 如果不匹配,则字符串有效:
>1
\.{2,}
有用于电子邮件验证的正则表达式。无需重新发明轮子。
对你的例子有用的应该是(\w\.?)+@(\w\.?)+
(\w\.?)+@(\w\.?)+
这将匹配每个字符串中的一行中的一个点
\.[^.]
或者您可以检查所有应该连续出现一次的字符
[.-,]{1}