Sto cercando di capire la seguente espressione regolare e perché mi sta dando il risultato che sto ottenendo.Ho bisogno di capire perché la regex non sta sostituendo tutte le corrispondenze
Ho la seguente javascript:
let result = '7979797'.replace(/797/g,'77');
mi sarei aspettato risulta essere il valore del 7777, ma invece ha un valore di 77977.
Speravo che qualcuno potrebbe spiegare il motivo per cui io sono ottenendo un valore di 77977 e quello che avrei bisogno di cambiare per l'espressione regolare per farlo sostituire tutte le stringhe che hanno lo scalpiccio 797 a 77.
regex di default non lo farà sovrapposizione partite. Senza considerare la sovrapposizione, hai due '797', in modo che vengano sostituiti con' 77' –
Usa invece un ciclo. Sostituisci mentre il modello corrisponde. –