如何在javascript中找到url中的正则表达式字符串?

如何在javascript中找到url中的正则表达式字符串?,javascript,jquery,html,regex,Javascript,Jquery,Html,Regex,晚上好,我如何在javascript中从url地址找到正则表达式字符串?例如,我有url:在这个示例中,我只需要最后斜杠之间的字符串(//),我需要的单词是mikronebulizer。非常感谢您的帮助。简单地说: url.match(/([^\/]*)\/$/); 我应该这样做 如果要匹配(可选)不带尾随斜杠,请使用: url.match(/([^\/]*)\/?$/); 请参见此处的操作:如果您提供了url,则可以通过以下方式执行: var url = 'http://www.odsav

晚上好,我如何在javascript中从url地址找到正则表达式字符串?例如,我有url:在这个示例中,我只需要最后斜杠之间的字符串(//),我需要的单词是mikronebulizer。非常感谢您的帮助。

简单地说:

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\-]+)

  • 表示至少一个或多个字母数字、下划线和连字符集,并将其用作第一个匹配组
后跟一个
/

最后是:
$

  • 这意味着该行应结束
.exec()返回一个数组,其中第一个值是完全匹配(即:“mikronebulizer/”),然后返回后面的每个匹配组

  • 因此
    .exec()[1]
    返回您的值:mikronebulizer

需要考虑的其他事情——是的,纯正则表达式方法可能更容易(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>");