我有一个看起来像这样的字符串:("http://www.example.com/hello/world/ab/c/d.html"
或这个"http://www.example.com/hello/world/ab/d.html"
:)
我想提取 和 之间的http://www.example.com/hello/world/
内容d.html
。通用正则表达式应该是什么?
我有一个看起来像这样的字符串:("http://www.example.com/hello/world/ab/c/d.html"
或这个"http://www.example.com/hello/world/ab/d.html"
:)
我想提取 和 之间的http://www.example.com/hello/world/
内容d.html
。通用正则表达式应该是什么?
你可能想要
/^http:\/\/[^\/]*\/[^\/]*\/[^\/]*\/(.*)\/[^\/]*$/
这个(看起来很复杂)表达式跳过了域和前两个路径分量,然后提取了最终路径分量之前的所有位。
例子:
>>> 'http://www.google.com/hello/world/ab/c/d.html'.match(/^http:\/\/[^\/]*\/[^\/]*\/[^\/]*\/(.*)\/[^\/]*$/)
["http://www.google.com/hello/world/ab/c/d.html", "ab/c"]
您正在寻找的正则表达式是:/^http\://www.google.com/hello/world/(.*/)d.htm$/
function getIt(fromWhat) {
var matches = fromWhat.match(/^http\:\/\/www\.google\.com\/hello\/world\/(.*\/)d.htm$/);
console.log(matches);
return matches[1];
}
getIt("http://www.google.com/hello/world/ab/c/d.htm");