我们正试图从电子邮件列表中提取该组织的有效网址。
abc@charleston.k12.il.us
很容易,但有时我们有
someone@u40gw.effingham.k12.il.us
040gw
是内部邮件的子域名。
另一个例子是someone@mail.meridian223.org
或someone@athletics.msstate.edu
什么是最有效的方法来捕获.edu
+前面的名称,没有额外的子域名,或者在高中的情况下整个部分k12.il.us
加上前面的名称?< / p>
到目前为止尝试过:
/@(([a-zA-Z0-9]*)([.])([a-zA-Z0-9]*)|@([a-zA-Z0-9]*)([.])([a-zA-Z0-9]*)([.])([a-zA-Z0-9]*)([.])([a-zA-Z0-9]*)([.])([a-zA-Z0-9]*))/
答案 0 :(得分:1)
您可以尝试以下正则表达式模式:
@.*?([^.]+[.]\w{3}|[^.]+[.]k12[.]il[.]us)$
在哪里,您可以将\w{3}
替换为可能的扩展程序列表,例如org
,edu
,net
等。例如:
@.*?([^.]+[.](edu|org|net|info|com)|[^.]+[.]k12[.]il[.]us)$
您可以在regexr.com
上看到它