获取网址的某些部分(正则表达式)

前端之家收集整理的这篇文章主要介绍了获取网址的某些部分(正则表达式)前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
给定URL(单行):
http://test.example.com/dir/subdir/file.html

如何使用正则表达式提取以下部分:

>子域(测试)
>域(example.com)
>没有文件的路径(/ dir / subdir /)
>文件(file.html)
>文件的路径(/dir/subdir/file.html)
>没有路径的网址(http://test.example.com)
>(添加您认为有用的任何其他)

正则表达式应该正常工作,即使我输入以下URL:
http://example.example.com/example/example/example.html

谢谢。

A single regex to parse and breakup a
full URL including query parameters
and anchors e.g.

07000

^((http[s]?|ftp):\/)?\/?([^:\/\s]+)((\/\w+)*\/)([\w\-\.]+[^#?\s]+)(.*)?(#[\w\-]+)?$

RexEx positions:

url: RegExp[‘$&’],

protocol:RegExp.$2,

host:RegExp.$3,

path:RegExp.$4,

file:RegExp.$6,

query:RegExp.$7,

hash:RegExp.$8

你可以进一步解析主机(‘。’分隔)很容易。

我会做的是使用这样的东西:

/*
    ^(.*:)//([A-Za-z0-9\-\.]+)(:[0-9]+)?(.*)$
*/
proto $1
host $2
port $3
the-rest $4

进一步解析“休息”尽可能具体。在一个正则表达式中做它是一个有点疯狂。

猜你在找的正则表达式相关文章