Regex 使用正则表达式防止顺序重复字符
我正在努力学习正则表达式。我写了这个正则表达式Regex 使用正则表达式防止顺序重复字符,regex,Regex,我正在努力学习正则表达式。我写了这个正则表达式 ^[a-zA-Z]{1}[a-zA-Z0-9.]*@{1}([a-z]+).[a-z]{2,5}$ 事实上,我不会把它用作电子邮件验证程序。只是测试。 该正则表达式的结果如下: exchange@stack.com // match s.@.com // not @overflow.c@com // not stack..@o.net /
^[a-zA-Z]{1}[a-zA-Z0-9.]*@{1}([a-z]+).[a-z]{2,5}$
事实上,我不会把它用作电子邮件验证程序。只是测试。该正则表达式的结果如下:
exchange@stack.com // match
s.@.com // not
@overflow.c@com // not
stack..@o.net // match
stackov@@.com // not
@overflow.com@s.stack // not
1#stack.@s.com // not
但正如您所看到的,stack..@o.net
也被称为有效表达式。
如何检测字符串中顺序重复的
s?- 在正则表达式中不需要
{1}
- 你需要在正则表达式中转义dot
^(?!.*?\.\.)[a-zA-Z][a-zA-Z0-9.]*@([a-z]+)\.[a-z]{2,5}$
嗯,电子邮件地址的最简单形式如下:
^\w+@(\w+\.)+\w+$
说明:
- (字符串的开头=
)^
- 匹配任何字符
- 后跟
@
- 匹配任意字符,后跟一个点(尽可能多次)
- 匹配任何字符(=tld,如
,.com
等).org
- (字符串末尾=
)$
[a-zA-Z0-9.]
=>([a-zA-Z0-9]|)(?作为您链接的网站,?!
表示某些内容后面没有任何内容,但我无法理解您的正则表达式中的(?!..\.\.\.\.\.\.\.\.
表示匹配正则表达式。输入中的任何地方都没有。
(因为后面跟着*?
)