我试图提取的电子邮件地址,是在文本列表中,没有分隔符,可以使用的检测,开始和结束的地址。我有一根这样的绳子:
email1@hotmail.comwelcome@mydomain.atinfo@another-domain.detesting@domain.or.atmy.name_test@domainname.de
我现在处于以下状态(不起作用):
[a-zA-Z0-9.-]+@[a-zA-Z0-9-.]+.(com|at|de|or.at)如果有人有办法解决这个问题会很有趣吗?也许也是确定域结束的更好的方法,而不是有一个硬编码列表的所有可能性。
发布于 2018-05-01 06:07:45
您将需要硬编码的TLD列表,否则无法确定一个地址的结束位置和下一个地址的起始位置。
正则表达式不错,但您需要转义. (否则它将匹配任何字符,如果不包含在字符类中),并允许字符类中的下划线:
[a-zA-Z0-9._-]+@[a-zA-Z0-9_.-]+\.(com|at|de|or\.at)适用于你的例子。
https://stackoverflow.com/questions/50111990
复制相似问题