我想禁止.co email extension
,下面是我正在使用的正则表达式。
/^[_a-zA-Z0-9-]+[_a-zA-Z0-9-+]*(\.[_a-zA-Z0-9-+#]+)*(\#[_a-zA-Z0-9-+]+)*@[a-zA-Z0-9_-]+(?!\.net.net|\.som|\.coom|\.om|\.como|\.ney|\.fuck|\.com.com)+(\.[a-zA-Z0-9-]+)*(\.(([0-9]{1,3})|([a-zA-Z]{2,4})))$/"
当我尝试将.co
添加到列表时,.com
和其他人也失败了。
/^[_a-zA-Z0-9-]+[_a-zA-Z0-9-+]*(\.[_a-zA-Z0-9-+#]+)*(\#[_a-zA-Z0-9-+]+)
*@[a-zA-Z0-9_-]+(?!\.net.net|\.som|\.coom|\.om|\.como|\.ney|\.fuck|\.co|\.com.com)+(\.[a-zA-Z0-9-]+)*(\.(([0-9]{1,3})|([a-zA-Z]{2,4})))$/"
以下格式应该失败。
something@some.co
答案 0 :(得分:1)
正则表达式引擎在第一次出现时就满足了。这么说,最短的子字符串应该是列表中的最后一个。
另一件值得关注的事情是立即检查主题字符串的结尾:
^[_a-zA-Z0-9-]+[_a-zA-Z0-9-+]*(\.[_a-zA-Z0-9-+#]+)*(\#[_a-zA-Z0-9-+]+)*@[a-zA-Z0-9_-]+(?!(?:\.net.net|\.som|\.coom|\.om|\.como|\.ney|\.fuck|\.com\.com|\.co)$)(\.[a-zA-Z0-9-]+)*(\.(([0-9]{1,3})|([a-zA-Z]{2,4})))