Regex Expression用于查找具有@并且不应该以@开头的字符串。或以...结束

时间:2012-02-24 07:53:38

标签: java regex java-ee email-validation

用于查找字符串的正则表达式,其中包含@且不应以.开头或以{{1}结尾}含义hello @ Same有效.hello @ Same,hello @ Same。和你好@ sdj @相同都是无效的

.中有什么问题。

所有这三个部分都是单独工作但是当我们放在一起时不起作用

3 个答案:

答案 0 :(得分:1)

您的正则表达式中有多个线符号起始^和多个行符号$

答案 1 :(得分:1)

^([^.@]+)@([^.@]+)$

将其分解为更易于管理的部分:

^([^.@]+)  // Start with anything except . or @
@          // @ must be somewhere in the expression
([^.@]+)$  // End with anything except . or @

它与您的规格不完全匹配(无法以@开头或结尾)但如果您正在验证电子邮件地址,那么这可能是一个理想的属性。

答案 2 :(得分:0)

如果要匹配,则不能只连接正则表达式 所有这些。

另一个错误是尝试验证电子邮件地址 用正则表达式。这只是效果不好。唯一的 找出用户是否输入有效地址的方法是发送 电子邮件。

符合您规范的正则表达式将是

^(?=[^@]+@[^@]+$)[^.].*[^.]$

但是,正如我所说,这不是验证电子邮件地址的好方法。 Check this link for horrible counter examples. =)