我尝试使用以下正则表达式匹配字符串 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/