正则表达式在URL中的斜杠后得到第一个单词

dom*_*dom 17 javascript regex

我需要在javascript中的url中删除斜杠之后的第一个单词,我假设使用正则表达式是理想的.

以下是URL可能的样子:

粗体是我需要正则表达式匹配每个场景,所以基本上只有斜杠后的第一部分,无论有多少进一步的斜杠.

我在这里完全失去了,感谢你的帮助.

Bra*_*ney 35

使用RegEx的JavaScript.这将匹配第一个之后的任何内容/直到我们遇到另一个/.

window.location.pathname.replace(/^\/([^\/]*).*$/, '$1');
Run Code Online (Sandbox Code Playgroud)


Ale*_*lov 15

非正则表达式.

var link = document.location.href.split('/');
alert(link[3]);
Run Code Online (Sandbox Code Playgroud)


Fla*_*ken 7

使用官方的rfc2396正则表达式可以使用javascript中的URL进行爆炸:

var url = "http://www.domain.com/path/to/something?query#fragment";
var exp = url.split(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/);
Run Code Online (Sandbox Code Playgroud)

这会给你:

["", "http:", "http", "//www.domain.com", "www.domain.com", "/path/to/something", "?query", "query", "#fragment", "fragment", ""]
Run Code Online (Sandbox Code Playgroud)

在您的情况下,您可以通过以下方式轻松找回路径:

var firstPortion = exp[5].split("/")[1]
Run Code Online (Sandbox Code Playgroud)