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

时间:2011-04-20 19:17:29

标签: javascript regex

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

以下是网址可能的样子:

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

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

7 个答案:

答案 0 :(得分:35)

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

window.location.pathname.replace(/^\/([^\/]*).*$/, '$1');

答案 1 :(得分:13)

非正则表达式。

var link = document.location.href.split('/');
alert(link[3]);

答案 2 :(得分:7)

使用官方rfc2396 regex

可以在javascript中爆炸网址
var url = "http://www.domain.com/path/to/something?query#fragment";
var exp = url.split(/^(([^:\/?#]+):)?(\/\/([^\/?#]*))?([^?#]*)(\?([^#]*))?(#(.*))?/);

这会给你:

["", "http:", "http", "//www.domain.com", "www.domain.com", "/path/to/something", "?query", "query", "#fragment", "fragment", ""]

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

var firstPortion = exp[5].split("/")[1]

答案 3 :(得分:2)

尝试:

var url = 'http://mysite.com/section-with-dashes/';
var section = url.match(/^http[s]?:\/\/.*?\/([a-zA-Z-_]+).*$/)[0];

答案 4 :(得分:1)

我的正则表达式非常糟糕,因此我会使用效率较低的解决方案即兴创作:P

// The first part is to ensure you can handle both URLs with the http:// and those without

x = window.location.href.split("http:\/\/")
x = x[x.length-1];
x = x.split("\/")[1]; //Result is in x

答案 5 :(得分:1)

以下是在javascript中获取该功能的快捷方法

var urlPath = window.location.pathname.split("/");
if (urlPath.length > 1) {
  var first_part = urlPath[1];
  alert(first_part); 
}

答案 6 :(得分:-1)

$url = 'http://mysite.com/section/subsection';

$path = parse_url($url, PHP_URL_PATH);

$components = explode('/', $path);

$first_part = $components[0];