可能重复:
使用正则表达式验证电子邮件地址
这是家庭作业,我已经做了一段时间了,我读了很多书,觉得我已经非常熟悉初学者的正则表达式了。
我正在尝试找到一个用于验证/使电子邮件列表无效的正则表达式。有两个地址给我带来了问题,我无法让它们同时验证正确的方法。我已经使用了十几种不同的表达方式,这些表达方式适用于列表中的所有其他电子邮件,但我无法同时得到这两个。
首先,地址。
me@example..com - invalid
someone.nothere@1.0.0.127 - valid
我的表达式中验证后缀的部分
我最初是从
@.+\\.[[a-z]0-9]+
并且有第二种模式来检查更多无效地址,并根据两种模式检查电子邮件,一种检查有效性,另一种无效,但我的教授说他希望这一切都在表达。
@[[\\w]+\\.[\\w]+]+
或者
@[\\w]+\\.[\\w]+
我已经尝试过很多很多不同的方式,但我很确定我只是使用不同的语法来表达这两个表达式。
我知道我想要它做什么,我想要它匹配一个字符类 "character+"."character+"+
加号至少为一个。当我只允许字符类重复一次时,它适用于无效类(显然 ip 不匹配),但是当我允许字符类重复自身时,它匹配第二个周期,即使它不是前面有一个字符。我不明白为什么。
我什至尝试用 () 对所有内容进行分组,并将 {1} 放在转义后的 . 并将 \w 更改为 az 并将 + 替换为 {1,}; 似乎没有什么需要被字符包围的句号。