正则表达式查找网址,但排除电子邮件

时间:2019-05-21 11:15:20

标签: php regex

我需要与URL匹配但与电子邮件地址不匹配的正则表达式。

例如:

  • 匹配项: inbox.lv www.inbox.lv http://inbox.lv
  • 不匹配: abcd@inbox.lv abcd.efdr@inbox.lv

我已经尝试过此正则表达式:

(?!.*@)((http:\/\/www\.|https:\/\/www\.|http:\/\/|https:\/\/)?[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,})

无论如何,它与电子邮件部分匹配为URL:与 abcd.efdr@inbox.lv 电子邮件“ inbox.lv”部分匹配。但是,如果是电子邮件(包含@符号的字符串),则它不应与URL相匹配。

如何改进此正则表达式以仅匹配URL?有什么建议吗?

此解决方案(标记为答案)不适用于我:preg_match_all to find all URL but exclude email。匹配解决方案 abcd.efdr@inbox.lv 电子邮件 inbox.lv URL部分

的干净正则表达式

0 个答案:

没有答案