Zakken in de replace methode in JavaScript regex
Bij het werken met de methode replace, als
we iets in een zak in de regex stoppen, dan
kunnen we in de vervangingsreeks de inhoud
van deze zak invoegen door een dollarteken $
en het zaknummer te schrijven. Bijvoorbeeld, $1 - de eerste
zak, $2 - de tweede zak, enzovoort.
Laten we eens kijken waar dit voor nodig is en hoe je het gebruikt aan de hand van voorbeelden.
Voorbeeld
Laten we alle getallen vinden en in plaats daarvan dezezelfde getallen invoegen, maar tussen ronde haakjes. Hiervoor zullen we alle gevonden getallen vervangen door zichzelf, maar tussen haakjes:
let str = '1 23 456 xax';
let res = str.replace(/(\d+)/g, '($1)');
Als resultaat wordt het volgende in de variabele geschreven:
'(1) (23) (456) xax'
Voorbeeld
Laten we alle strings vinden die
getallen voorstellen met x'en eromheen en deze
getallen vervangen door zichzelf, maar met '!' tekens eromheen:
let str = 'x1x x23x x456x xax';
let res = str.replace(/x(\d+)x/g, '!$1!');
Als resultaat wordt het volgende in de variabele geschreven:
'!1! !23! !456! xax'
Voorbeeld
Laten we het volgende probleem oplossen: gegeven strings
van het type 'aaa@bbb' - letters, dan een apenstaartje,
dan letters. Het is nodig om de letters
voor @ en erna van plaats te wisselen.
let str = 'aaa@bbb ccc@ddd';
let res = str.replace(/([a-z]+)@([a-z]+)/g, '$2@$1');
Als resultaat wordt het volgende in de variabele geschreven:
'bbb@aaa ddd@ccc'
Praktische opdrachten
Gegeven een string:
let str = '12 34 56 78';
Wissel de cijfers in alle tweecijferige getallen om.
Gegeven een string met een datum:
let str = '31.12.2025';
Converteer deze datum naar '2025.12.31'.