正则表达式替换为捕获
Regex replace with captured
我想用它自己放弃“[”和“]”来替换字符串中的所有非字母数字字符。
我试过这个:
var text = "ab!@1b*. ef";
var regex = /\W/g;
var result = text.replace(regex, "[[=10=]]");
console.log(result);
我期待得到:
ab[!][@]1b[*][.][ ]ef
但是我得到:
ab[[=12=]][[=12=]]1b[[=12=]][[=12=]][[=12=]]ef
如何使用 Javascript(node) 执行此操作?
您需要将组括在括号中以将其分配给 $1,如下所示:
var text = "ab!@1b*. ef";
var regex = /(\W)/g;
var result = text.replace(regex, "[]");
console.log(result);
我想用它自己放弃“[”和“]”来替换字符串中的所有非字母数字字符。
我试过这个:
var text = "ab!@1b*. ef";
var regex = /\W/g;
var result = text.replace(regex, "[[=10=]]");
console.log(result);
我期待得到:
ab[!][@]1b[*][.][ ]ef
但是我得到:
ab[[=12=]][[=12=]]1b[[=12=]][[=12=]][[=12=]]ef
如何使用 Javascript(node) 执行此操作?
您需要将组括在括号中以将其分配给 $1,如下所示:
var text = "ab!@1b*. ef";
var regex = /(\W)/g;
var result = text.replace(regex, "[]");
console.log(result);