Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/406.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多个RegEx backreference_Javascript_Regex - Fatal编程技术网

Javascript多个RegEx backreference

Javascript多个RegEx backreference,javascript,regex,Javascript,Regex,javascript是否可以使用RegEx back引用创建多个新变量? 比如: var temp = fileName.replace(new RegExp( "(^.)(.*)(_.*)(-.*)", "i" ),"\$1\$2\$3\$4"); var first = $1; var forth = $4; 在perl中,我将执行以下操作: $uprate =~ /(^.)(.*)(_.*)(-.*)/$1 $2 $3 $4/; $first = $1; $forth = $4; 尝

javascript是否可以使用RegEx back引用创建多个新变量? 比如:

var temp = fileName.replace(new RegExp( "(^.)(.*)(_.*)(-.*)", "i" ),"\$1\$2\$3\$4");
var first = $1;
var forth = $4;
在perl中,我将执行以下操作:

$uprate =~ /(^.)(.*)(_.*)(-.*)/$1 $2 $3 $4/;

$first = $1;
$forth = $4;

尝试使用Javascript字符串的
match
方法。它将返回一个包含所有匹配组的对象

var matches = fileName.match(/(^.)(.*)(_.*)(-.*)/i);
var first = matches[1];
var fourth = matches[4];

如果字符串与正则表达式不匹配,match方法将返回
null
,因此请确保进行测试,除非您确定它会成功。

尝试使用Javascript字符串的
match
方法。它将返回一个包含所有匹配组的对象

var matches = fileName.match(/(^.)(.*)(_.*)(-.*)/i);
var first = matches[1];
var fourth = matches[4];

如果字符串与正则表达式不匹配,match方法将返回
null
,因此请确保进行测试,除非您确定它会成功。

这些不是返回引用,它们只是内存捕获。只要删除反斜杠就可以了。可能是重复的。这些不是反向引用,它们只是内存捕获。只要删除反斜杠就可以了。可能会重复。谢谢cspotcode,很明显我用的是错误的路径。您的解决方案非常有效。感谢cspotcode,很明显我使用的是错误的路径。你的解决方案非常有效。