Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/443.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

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/regex/20.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,在javascript中,我对下面的字符串使用了通过正则表达式拆分的方法,但在javascript代码中它并不能很好地工作,而且我在一些在线正则表达式测试网站上对它进行了测试,比如,它工作得很好 字符串:“$1$2$3$5$7 hello” 结果:[“”,“$7”,“你好”] 预期结果:[“你好”] 这是我的密码: 函数myFunction(){ var str=“$1$2$3$5$7您好”; var res=str.split(/([$][0-9]+[]*)+/gu); document.g

在javascript中,我对下面的字符串使用了通过正则表达式拆分的方法,但在javascript代码中它并不能很好地工作,而且我在一些在线正则表达式测试网站上对它进行了测试,比如,它工作得很好

字符串:
“$1$2$3$5$7 hello”

结果:
[“”,“$7”,“你好”]

预期结果:
[“你好”]

这是我的密码:

函数myFunction(){
var str=“$1$2$3$5$7您好”;
var res=str.split(/([$][0-9]+[]*)+/gu);
document.getElementById(“demo”).innerHTML=res;
}
单击按钮以显示拆分后的数组值

试试看
捕获组使正则表达式引擎将捕获的值放回结果数组中。此外,还添加了导致字符串开头和旁边匹配项之间匹配的空元素

您可以使用,然后删除空项目:

var str=“$1$2$3$5$7 hello”;
log(str.split(/\s*(?:\$\d+\s*)+/).filter(布尔值))
函数myFunction(){
var str=“$1$2$3$5$7 hello$5”;
var subst=`;
var res=str.replace(/([$][0-9]?)/gu,subst);
document.getElementById(“demo”).innerHTML=res;
}
单击按钮以显示拆分后的数组值

试试看

它还将完全捕获
Hello$1测试$2$3
。我想这不是OP想要的