【问题标题】:Need a regex that matches URLs with/without http:// or www. or http://www. in a text需要一个匹配带有/不带有 http:// 或 www 的 URL 的正则表达式。或 http://www。在文本中
【发布时间】:2011-03-27 07:42:18
【问题描述】:

我一直在尝试自己寻找解决方案,但到目前为止我无法做到(甚至尝试了所有 regexlib.com 的建议),所以:

需要一个匹配 URL 的正则表达式,例如(PHP 代码):

http://example.com 或 http://www.example.com 或 www.example.com 例子.com


我一直在尝试使用这个(catch http://(optional)www.example.com/path/otherpath):

$regex = "/(((ftp|https?)://www.)|(www.)|(http://))([\d\w-.]+?)+(: \d+)?(/([\w/,=]*(\?\S+)?)?)?/";

但这还不够。

仍然缺少 example.com。有什么建议吗?

【问题讨论】:

  • 我建议搜索 google 和 StackOverflow。这是一个非常广泛和复杂的话题,已经讨论过好几次了。
  • 抱歉,您到底想做什么 - 仅匹配包含 http:// 和(可选?)www. 网址,或者您只是在寻找匹配所有有效的网址? (即http://www.stackoverflow.comhttp://stackoverflow.comwww.stackoverflow.comstackoverflow.com

标签: php regex url


【解决方案1】:

这个怎么样?

(www|http:\/\/|https:\/\/)?([\.[:alnum:]_-]){0,4}([[:alnum:]_-]+\.)([[:alnum:]_-]\.?)([[:alpha:]]){0,3}

【讨论】:

    猜你喜欢
    • 2014-01-25
    • 2014-05-07
    • 2018-04-24
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2016-07-26
    相关资源
    最近更新 更多