我需要一个解析URL第一个目录的常规快递:
www.mydomain.com/的 find_this /什么/什么..
所以 - 我不知道如何构造一个正则表达式来获取包含第一个目录的字符串,任何帮助都会受到赞赏。
编辑 - 解析不是一个选项,我正在尝试创建一个正则表达式。
答案 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");