Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/456.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript替换正则表达式通配符_Javascript_Regex - Fatal编程技术网

Javascript替换正则表达式通配符

Javascript替换正则表达式通配符,javascript,regex,Javascript,Regex,我有一个字符串需要运行替换 string = replace('/blogs/1/2/all-blogs/',''); 值1、2和所有博客都可以更改。有可能使它们成为通配符吗 提前感谢, 关于您可以使用*作为“此处任何字符的零个或多个”的占位符,或使用+作为“此处任何字符的一个或多个”的占位符。我不是100%确定你到底想做什么,但例如: var str = "/blogs/1/2/all-blogs/"; str = str.replace(/\/blogs\/.+\/.+

我有一个字符串需要运行替换

string = replace('/blogs/1/2/all-blogs/','');
值1、2和所有博客都可以更改。有可能使它们成为通配符吗

提前感谢,


关于

您可以使用
*
作为“此处任何字符的零个或多个”的占位符,或使用
+
作为“此处任何字符的一个或多个”的占位符。我不是100%确定你到底想做什么,但例如:

var str = "/blogs/1/2/all-blogs/";
str = str.replace(/\/blogs\/.+\/.+\/.+\//, '');
alert(str); // Alerts "", the string is now blank
但如果在它之后或之前有更多的内容:

str = "foo/blogs/1/2/all-blogs/bar";
str = str.replace(/\/blogs\/.+\/.+\/.+\//, '');
alert(str); // Alerts "foobar"

请注意,在上述两种情况下,仅替换第一个匹配项。如果要替换所有匹配项,请添加如下
g

str = str.replace(/\/blogs\/.+\/.+\/.+\//g, '');
//                                       ^-- here
您可以阅读JavaScript。试试这个

(/.+){4}

根据需要转义

在斜杠处拆分字符串并替换值怎么样

var myURL = '/blogs/1/2/all-blogs/', fragments, newURL;
fragments = myURL.split('/');
fragments[1] = 3;
fragments[2] = 8;
fragments[3] = 'some-specific-blog';
newURL = fragments.join('/');
这应返回:

'/blogs/3/8/some-specific-blog'

最好使用
[^/]
而不是
@Gumbo,因为它也会命中返回行,这可能不是OP想要的。JS是否需要对
/
进行转义?因为
/
是regexp的分隔符(您不需要将它们放在引号中):是的,可以尝试使用选择器的惰性变量,也就是说,
*?
+?
如果在提到的字符串后面可能有额外的斜杠。@ShaneBishop-谢谢,我已经修复了它。当事情变得如此清晰时,最好直接编辑修改它。再次感谢。
'/blogs/3/8/some-specific-blog'