java - 在 Java 中无法匹配 myname@myemail.edu.in

标签 java regex email

我尝试使用以下正则表达式匹配字符串 m-y_n.ame@myemail.edu.in:

    ([_A-Za-z0-9-.]+@[a-z0-9-]+[.][a-z]{2,3}[.][a-z]{2,3})

完整的正则表达式是:

   ([-A-Za-z0-9._!#$%^&*|{}'~`]+@[a-z0-9_-]+[\\.][a-z]{2,3}[\\.][a-z]{2,3})|([A-Za-z0-9.!#$%^&*|{}\"~`]+@[a-z0-9_-]+[\\.][a-z]{4})|([A-Z.a-z0-9!#$%^&*|{}'~`]+@[a-z0-9_-]+[\\.][a-z]{3})|([A-Za-z0-9.!#$%^&*_-|{}'~`]+@[a-z0-9_-]+[\\.][a-z]{2})

我需要对正则表达式进行哪些更改才能匹配指定的模式?

这些是我的一些测试用例:

 1.vamsi$deepak0@gmail.com
 2.v_a_m_s_i_d_e_e_p_a_k_0_3@gmail.com
 3.v-a-m_si.deepak@gmail.com
 4.vamsi$deepak03@gmail.co.in
 5.v_a_m_s_i_d_e_e_p_a_k_0_3@gmail.co.in
 6.v-a-m_si.deepak@gmail.co.in
 7.vamsideepask03@bits-pilani.edu
 8.vams-ideep_ask03@bits-pilani.edu
 9.vamsi-d_.eepak03@gmool.biz
 10.songs@gaana.in
 11.vamsideep_-.ak03@footfall.net
 12.jackspa_-.rrow@pirates.org
 13.nomorespaceshuttles@nasa.gov
 The most scary test case seems to be  
 14.vamsideepak@gmail.iovamsideepak@gmail.comvamsideepak0@gmail.co.invamsideepak@gmail.info

我当前使用的正则表达式匹配

    vamsideepak@gmail.iova,msideepak@gmail.comv

依此类推。如果我反转正在使用的表达式的顺序来匹配 . 后字符数较少的表达式,则会导致反转匹配值:

    vamsideepak@gmail.io,vamsideepak@gmail.co

等等。

我应该怎样做才能确保与案例 14 正确匹配。我应该分别使用每个组进行验证吗?

最佳答案

这应该适合你:

[A-Za-z0-9!#$%&’*+-/=?^_`\.{|}~]+@([a-z0-9_-]+[\.]?)*

关于java - 在 Java 中无法匹配 myname@myemail.edu.in,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19316893/

相关文章:

java - 从文本文件中读取行,并通过将行中的值写入新的文本文件中,按平均值对行中的值进行排序

java - 将任意对象注入(inject) Spring bean

c# - C# 中的高级替换

Java正则表达式查找占位符中的所有占位符 "{}"

c# - 我可以将 C# 中的 Javascript 函数添加到 gmail 电子邮件中吗?

asp.net - 信箱不可用。服务器响应为 : 5. 7.1 无法中继 abc@xyz.com

java - 使用 or 进行 Python 赋值

java - 有什么方法可以配置 Struts 绑定(bind) null 而不是空 String 吗?

javascript - 如何在 JavaScript 公式中用字符串替换整数

validation - grails 验证电子邮件自定义消息