簡體   English   中英

JavaScript正則表達式將每個nn替換為n * n

[英]JavaScript regex to replace every nn with n*n

如果我這樣做:

my_string = 'nnn';
my_string = my_string.replace(/nn/g, 'n*n');
return my_string; //n*nn

我得到的結果是n*nn ,但是我需要在nn每種情況之間插入星號* 結果應為n*n*n

如果my_string = 'nnnn' ,結果將為n*nn*n ,但應為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(my_string); 

您可以使用預讀:

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

您是否考慮過先行?

比賽:

n(?=n)

替換為:

n*

演示: regex101

現在編輯,它鏈接到一個有效的JS示例,我不能保證它在每種瀏覽器中都能工作。 它與以前的后向版本完全對稱,但具有前瞻性。 非常感謝@JaromandaX指出大多數主要瀏覽器均不支持向后搜索。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM