正则表达式从URL解析术语

时间:2011-07-15 00:26:19

标签: javascript regex

我需要一个解析URL第一个目录的常规快递:

www.mydomain.com/的 find_this /什么/什么..

所以 - 我不知道如何构造一个正则表达式来获取包含第一个目录的字符串,任何帮助都会受到赞赏。

编辑 - 解析不是一个选项,我正在尝试创建一个正则表达式。

5 个答案:

答案 0 :(得分:2)

试试这个:

str = "www.mydomain.com/find_this/anything/anything"; 
path = /(?:http\:\/\/)?(?:www)?\.mydomain\.com\/([^\/]+)/.exec(str) [1]

答案 1 :(得分:1)

你可以这样做:

var myString = "www.mydomain.com/find_this/anything/blah"
var string_I_want = myString.replace(/\/\//g, "").split("/")[1]

更容易阅读。

答案 2 :(得分:0)

第一个捕获组(原始正则表达式)匹配的东西:

^(?:https?://)?(?:\w+)(\.\w+)*(?:\:\d+)/([^/]+)

匹配可选的http:// / https://,webserver / ip / port,然后,第一组就是你想要的。

var url = 'www.mydomain.com/find_this/anything/anything';
var match = /^(?:https?:\/\/)?(?:\w+)(\.\w+)*(?:\:\d+)\/([^\/]+)/.exec(url);
var root = match[1];

答案 3 :(得分:0)

以下是一些选项:

捕捉:

/(.*?)/

使用命名捕获:

/(?<first_directory>.*?)/

使用协议和捕获:

(?:https?://.*?)?/(.*?)/

使用协议和命名捕获:

(?:https?://.*?)?/(?<first_directory>.*?)/

你只需要翻译你的味道。

答案 4 :(得分:0)

试试以下内容:

var rootDir = location.pathname.replace(/(^\/\w+\/).*/,"$1");