[英]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.