2017-08-06 28 views
2

這是this的後續問題,其中爲Notepad ++提供了一個解決方案,但不適用於JavaScript。在JavaScript中獲取正則表達式的重複次數

比方說,我有一些隨機的文字:

let text = `aaaaaaaaaa 
      5aaaa8aaaa 
      4707aaaaaa 
      a1aaaaaaaa 
      923aaaaaaa`; 

現在我想更換一個新行後出現的與X每一個數字,要實現這一最終結果:

`aaaaaaaaaa 
Xaaaa8aaaa 
XXXXaaaaaa 
a1aaaaaaaa 
XXXaaaaaaa` 

solution provided for Notepad++在這裏不能使用,因爲\G錨點在JavaScript中不可用,所以text.replace(/(?:\G|^)\d/gm, 'X')不起作用。

這裏有沒有其他方法可以使用\G,或者有其他的方法可以在JavaScript中做這個替換嗎?

+0

嘗試使用'\ B \ d +' – guijob

+0

@baao僅改變在每一行的第一個數字,即,它改變了第三線從'4707aaaaaa'到'X707aaaaaa'代替'XXXXaaaaaa'按照預期 – mozicid

+0

對不起 - 我讀錯了。 @mozicid – baao

回答

1

的一個選項是:

text.replace(/\b(\d+)/g, m => 'X'.repeat(m.length))