Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/478.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 js-反向引用未按预期工作_Javascript_Regex_Backreference - Fatal编程技术网

Javascript js-反向引用未按预期工作

Javascript js-反向引用未按预期工作,javascript,regex,backreference,Javascript,Regex,Backreference,我有一个字符串“styles-123.min.js”,我想用“styles-456.min.js”替换它。所以我这样做: str = "styles-123.min.js"; str = str.replace(/(styles|apps)/, "$0" + "-456"); alert(str) 未解析$0,结果为“$0-456-min.js”。为什么? 谢谢。在JavaScript中,使用$&而不是$0来引用整个匹配值 见: $&插入匹配的子字符串 如果不使用$1,则模式中的捕获组中没有

我有一个字符串“styles-123.min.js”,我想用“styles-456.min.js”替换它。所以我这样做:

str = "styles-123.min.js";
str = str.replace(/(styles|apps)/, "$0" + "-456");

alert(str)
未解析$0,结果为“$0-456-min.js”。为什么?


谢谢。

在JavaScript中,使用
$&
而不是
$0
来引用整个匹配值

见:

$&
插入匹配的子字符串

如果不使用
$1
,则模式中的捕获组中没有点,可以使用

str=“style-123.min.js”;
str=str.replace(/styles | apps/,“$&-456”);

document.body.innerHTML=str只需使用以下正则表达式检查
-123

正则表达式:
-\d+

Javascript代码

str=“style-123.min.js”;
str=str.replace(/-\d+/,“-456”);
警报(str)您可以这样做(
$1
表示第一个匹配的组):

str=“style-123.min.js”;
str=str.replace(/(样式|应用程序)[0-9-]+/,“$1-456”);

警报(str)有什么答案对你有用吗?