Javascript regex删除路径名的第一部分

Javascript regex删除路径名的第一部分,javascript,regex,string,Javascript,Regex,String,我得到了一个字符串,它实际上是url的一部分,如下所示: /m/some/url/string some/url/string str = str.replace(/^\/[\w\d]+\//, ''); 我需要删除此字符串的第一部分,例如/m/,使其看起来像这样: /m/some/url/string some/url/string str = str.replace(/^\/[\w\d]+\//, ''); 我尝试了以下代码: var pathName = '/m/some/ur

我得到了一个字符串,它实际上是url的一部分,如下所示:

/m/some/url/string
some/url/string
str = str.replace(/^\/[\w\d]+\//, '');
我需要删除此字符串的第一部分,例如
/m/
,使其看起来像这样:

/m/some/url/string
some/url/string
str = str.replace(/^\/[\w\d]+\//, '');
我尝试了以下代码:

var pathName = '/m/some/url/string'; 
pathName = pathName.replace(/^\/.[^\/]+\//g, ''); 
console.log(pathName);//same string here as it was
并在regex101.com上验证了它的有效性。但当我在控制台中启动此代码时,字符串保持不变。有没有办法解决这个问题?多谢各位

EDIT_1很奇怪,但它使用的是
/my/
,而不是
/m/
。你知道为什么吗

奇怪的是,它与/my/一起工作,但与/m/不一起工作。你知道为什么吗

这里没有什么奇怪的,您的
\/./.^\/]+
正则表达式正在使用
/my/.
而不是
/m/.
工作,因为它要求在第一个
/.
之后至少有两个字符,因为
匹配一个字符,而
[^\/]+
匹配至少一个字符,而
m
是1个字符,这就是它不匹配的原因

因此,您需要删除正则表达式中的第一个

/^\/[^\/]+\//g
或者您可以只使用
.replace(/^\/[\w\d]+\/,“”)
如下所示:

/m/some/url/string
some/url/string
str = str.replace(/^\/[\w\d]+\//, '');
演示:

var str=“/m/some/url/string”;
str=str.replace(/^\/[\w\d]+\/,“”);
console.log(str)
奇怪的是,它与/my/一起工作,但与/m/不一起工作。你知道为什么吗

这里没有什么奇怪的,您的
\/./.^\/]+
正则表达式正在使用
/my/.
而不是
/m/.
工作,因为它要求在第一个
/.
之后至少有两个字符,因为
匹配一个字符,而
[^\/]+
匹配至少一个字符,而
m
是1个字符,这就是它不匹配的原因

因此,您需要删除正则表达式中的第一个

/^\/[^\/]+\//g
或者您可以只使用
.replace(/^\/[\w\d]+\/,“”)
如下所示:

/m/some/url/string
some/url/string
str = str.replace(/^\/[\w\d]+\//, '');
演示:

var str=“/m/some/url/string”;
str=str.replace(/^\/[\w\d]+\/,“”);

console.log(str)它在我的chrome控制台中工作。你确定是这样吗?因为我只是在控制台中复制粘贴您的代码,它工作正常。为什么是正则表达式?找到第二个“/”字符并删除所有字符怎么样?
”/m/some/url/string.replace(/^\/.+?\/,“”)
为了帮助您了解版本中的情况,创建了一个小提琴-技巧是
匹配任何字符,然后匹配
[^\/]+
,这意味着“不是/至少一到多次“。因此,这些组合的结果在/之间至少包含2个字符。移除
,您就没事了。它在我的chrome控制台中工作。您确定是这种情况吗?因为我只是在控制台中复制粘贴您的代码,它工作正常。为什么是正则表达式?找到第二个“/”字符并删除所有字符怎么样?
”/m/some/url/string.replace(/^\/.+?\/,“”)
为了帮助您了解版本中的情况,创建了一个小提琴-技巧是
匹配任何字符,然后匹配
[^\/]+
,这意味着“不是/至少一到多次“。因此,这些组合的结果在/之间至少包含2个字符。删除
就可以了。删除括号可以节省2个字节。。。哦,等等,这不是。很好地指出了,谢谢,我是以
.match
的方式思考的。删除括号可以节省2个字节。。。哦,等等,这不是。很好地指出了谢谢,我是以一种
.match
的方式思考的。