JavaScript正则表达式将每个nn替换为n*n

JavaScript正则表达式将每个nn替换为n*n,javascript,regex,iteration,Javascript,Regex,Iteration,如果我这样做: my_string = 'nnn'; my_string = my_string.replace(/nn/g, 'n*n'); return my_string; //n*nn 我得到这个结果,但是我需要在nn的每一次之间插入星号*。结果应该是n*n*n 如果my_string='nnnnnn',结果将是n*nn*n,但应该是n*n*n您可以这样做两次替换 'nnnnnn'.replace(/nn/g,'n*n').replace(/nn/g,'n*n'); 例如: my_

如果我这样做:

my_string = 'nnn';
my_string = my_string.replace(/nn/g, 'n*n');
return my_string; //n*nn
我得到这个结果,但是我需要在
nn
的每一次之间插入星号
*
。结果应该是
n*n*n


如果
my_string='nnnnnn'
,结果将是
n*nn*n
,但应该是
n*n*n

您可以这样做两次替换

'nnnnnn'.replace(/nn/g,'n*n').replace(/nn/g,'n*n');
例如:

my_string='nnnnnn';
my_string=my_string.replace(/nn/g,'n*n')。replace(/nn/g,'n*n');

console.log(我的字符串)您可以这样做两次更换

'nnnnnn'.replace(/nn/g,'n*n').replace(/nn/g,'n*n');
例如:

my_string='nnnnnn';
my_string=my_string.replace(/nn/g,'n*n')。replace(/nn/g,'n*n');

console.log(我的字符串)您可以使用前瞻:

my_string='nnnnnnnnnnnnn';
my_string=my_string.replace(/n(?=n)/g,'n*');

console.log(我的字符串)您可以使用前瞻:

my_string='nnnnnnnnnnnnn';
my_string=my_string.replace(/n(?=n)/g,'n*');

console.log(我的字符串)
replace(/n(?=n)/g,'n*')replace(/n(?=n)/g,'n*')我认为这是正确的方法,因为它是没有任何额外构造的单个正则表达式。这种方式迫使JavaScript引擎检查每个字符,我不必担心规则不会应用于某些相邻字符。谢谢我认为这是正确的方法,因为它是没有任何额外构造的单个正则表达式。这种方式迫使JavaScript引擎检查每个字符,我不必担心规则不会应用于某些相邻字符。谢谢