我正在尝试使用正则表达式替换所有匹配组的字符串。 由于正则表达式中的组数不同,我无法使用$ 1 .. $ 9反向引用。
以下是1组的工作示例:
string = 'ab ac';
regex = new RegExp( "(^|\\s)(a)", "ig" );
template = "$1<u>$2</u>";
replace = string.replace(regex, template);
但是当有超过1组时,这种逻辑不起作用:
string = 'ab bc';
regex = new RegExp( "(^|\\s)(a)|(^|\\s)(b)", "ig" );
template = "$1<u>$2</u>";
replace2 = string.replace(regex, template);
我应该使用什么作为&#39;模板&#39;匹配所有组?
这个jsfiddle可能会让它更容易理解: https://jsfiddle.net/wfo3n7rs/