如何在javascript中找到url中的正则表达式字符串?
晚上好,我如何在javascript中从url地址找到正则表达式字符串?例如,我有url:在这个示例中,我只需要最后斜杠之间的字符串(//),我需要的单词是mikronebulizer。非常感谢您的帮助。简单地说:如何在javascript中找到url中的正则表达式字符串?,javascript,jquery,html,regex,Javascript,Jquery,Html,Regex,晚上好,我如何在javascript中从url地址找到正则表达式字符串?例如,我有url:在这个示例中,我只需要最后斜杠之间的字符串(//),我需要的单词是mikronebulizer。非常感谢您的帮助。简单地说: url.match(/([^\/]*)\/$/); 我应该这样做 如果要匹配(可选)不带尾随斜杠,请使用: url.match(/([^\/]*)\/?$/); 请参见此处的操作:如果您提供了url,则可以通过以下方式执行: var url = 'http://www.odsav
url.match(/([^\/]*)\/$/);
我应该这样做
如果要匹配(可选)不带尾随斜杠,请使用:
url.match(/([^\/]*)\/?$/);
请参见此处的操作:如果您提供了url,则可以通过以下方式执行:
var url = 'http://www.odsavacky.cz/blog/wpcproduct/mikronebulizer/';
var urlsplit = url.split('/');
var urlEnd = urlsplit[urlsplit.length- (urlsplit[urlsplit.length-1] == '' ? 2 : 1)];
这将匹配最后一个斜杠之后的所有内容(如果有任何内容),否则,它将匹配第二个斜杠和最后一个斜杠之间的部分。您可以使用正则表达式匹配组 使用以下命令:
/([\w\-]+)\/$/.exec("http://www.odsavacky.cz/blog/wpcproduct/mikronebulizer/")[1];
此部分:([\w\-]+)
- 表示至少一个或多个字母数字、下划线和连字符集,并将其用作第一个匹配组
/
最后是:$
- 这意味着该行应结束
- 因此
返回您的值:mikronebulizer.exec()[1]
需要考虑的其他事情——是的,纯正则表达式方法可能更容易(Heck,更快),但我想简单地指出这一点:<代码>窗口>位置>路径名< /C> > /<
function getLast(){
// Strip trailing slash if present
var path = window.location.pathname.replace(/\/$?/, '');
return path.split('/').pop();
}
或者,您可以使用
split
:
var pieces = "http://www.odsavacky.cz/blog/wpcproduct/mikronebulizer/".split("/");
var lastSegment = pieces[pieces.length - 2];
// lastSegment == mikronebulizer
var url='1〕http://www.odsavacky.cz/blog/wpcproduct/mikronebulizer/';
如果(url.slice(-1)=“/”){
url=url.substr(0,url.length-1);
}
var lastSegment=url.split('/').pop();
文件。写入(lastSegment+“
”);
您可能应该包括在末尾不使用斜杠进行匹配的可能性,例如“http://foo.bar/baz/quux
“确实-你可以像这样使斜杠不贪婪,([^\/]*)\/?$
。而且,解释“SyntaxError:Unexpected token”总是很好的-你不能在正则表达式中逃过斜杠。@Joetje50谢谢,正在修复。如果最后一个斜杠之间有连字符,我会试试,例如:/spotrebni material/alert只显示没有spotrebni的材质。有解决办法吗?感谢you@user3242334我在文章中更新了正则表达式,并在jsfiddle示例中添加了连字符。只需将其添加到匹配项中:([\w\-]+)当前url的路径名与获取给定url的最后一部分有什么关系?在本例中,您不能将window.location.pathname
替换为http://www.odsavacky.cz/blog/wpcproduct/mikronebulizer/“
?@joetje50对,对于这个特定的例子,它没有特别的帮助,因为op只需要最后一个路径段。然而,我认为很多JS新手不知道可以使用window.location
对象直接访问URL的各个部分。因此,将其包含在此处以供参考。附录:var link=document.createElement('a');link.href=url
,您可以享受link.pathname
@Zirak-Yep,这是我们集体武库中的一个很棒的工具!
var url = 'http://www.odsavacky.cz/blog/wpcproduct/mikronebulizer/';
if (url.slice(-1)=="/") {
url = url.substr(0,url.length-1);
}
var lastSegment = url.split('/').pop();
document.write(lastSegment+"<br>");