加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 百科 > 正文

正则表达式 – 正则表达式以匹配相对和绝对URL

发布时间:2020-12-14 06:26:11 所属栏目:百科 来源:网络整理
导读:任何人都想尝试提出一个匹配两者的正则表达式: /foo/bar/baz.gif / foo / bar / http://www.foo.com/foo/bar 我认为用一个正则表达式做这个可能是不可能的,但你永远不会知道. 编辑:澄清一下,我要做的是从文档中挑选出所有URI(不是HTML文档). ( ((http|http
任何人都想尝试提出一个匹配两者的正则表达式:

> /foo/bar/baz.gif
> / foo / bar /
> http://www.foo.com/foo/bar

我认为用一个正则表达式做这个可能是不可能的,但你永远不会知道.

编辑:澄清一下,我要做的是从文档中挑选出所有URI(不是HTML文档).

(
  ((http|https|ftp)://([w-d]+.)+[w-d]+){0,1}  // Capture domain names or IP addresses
  (/[w~,;-./?%&+#=]*)                // Capture paths,including relative
)

这个答案的基本原理:

>整个事情已分组,因此您可以选择整个网址
>协议部分是可选的,但如果提供,还应提供主机名或IP地址(两者都允许的字符数少于URI的其余部分).
>开头的“/”也是可选的.路径可以采用“images / 1.gif”形式,它们相对于当前路径而不是相对于主机名.

注意事项:

>不支持mailto和文件URI.
>句点跟踪的URL(例如句子末尾没有引用)将包括尾随句点.
>由于上面的#3,它将捕获各种各样的东西.如果您可以验证所有路径都不是相对的,则可以在括号外添加“/”,从而需要它.
>如果所有URI都在HTML属性(A,LINK,IMG等)中,则可以通过仅在引号内捕获或至少仅在HTML标记内捕获来更准确地定位URI.

编辑:哎呀,固定关闭paren问题.

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读