正则表达式-提取mailto:mail地址



示例:mailto:info@info.com?服从某事或邮寄至:info@info.com

我只想得到没有主题(如果有的话)的电子邮件地址

这个表达式不够用,我无法使它工作:

mailto:(.*)

感谢

试试这个正则表达式:

mailto:([^?]*)

您需要将匹配的字符保存在捕获组中:

mailto:([^?]+)

现在您的地址是1美元(或其他变量;取决于语言)。

如果有可能在电子邮件地址变成其他地址后,您必须指定分隔符。例如,如果是空间:

mailto:([^?S]+)[s?]

你也可以使用非贪婪r.e.:

mailto:(.+?)[s?]

这意味着"一旦遇到s(空格)或?

就停止

这将在单词边界内查找匹配的字符串。你需要使用你选择的语言从第一个带括号的子模式中获得电子邮件的价值(通常引用的是1美元)。第二个子模式将捕捉主题(开头带有?)。

bmailto:(.*)(?.*)?b

最新更新