Lommer i replace-metoden i JavaScript regulære udtryk
Når du arbejder med metoden replace, hvis
vi lægger noget i en lomme i det regulære udtryk, så
kan vi i erstatningsstrengen indsætte indholdet af
denne lomme ved at skrive dollartegnet $
og lommens nummer. For eksempel, $1 - den første
lomme, $2 - den anden lomme og så videre.
Lad os se på eksempler for at forstå, hvad dette er brugbart til og hvordan man bruger det.
Eksempel
Lad os finde alle tal og i stedet for dem indsætte de samme tal, men i parenteser. For at gøre dette vil vi erstatte alle de fundne tal med dem selv, men omgivet af parenteser:
let str = '1 23 456 xax';
let res = str.replace(/(\d+)/g, '($1)');
Resultatet i variablen vil være følgende:
'(1) (23) (456) xax'
Eksempel
Lad os finde alle strenge, der repræsenterer
tal omgivet af 'x'er og erstatte disse
tal med dem selv, men omgivet af '!' tegn:
let str = 'x1x x23x x456x xax';
let res = str.replace(/x(\d+)x/g, '!$1!');
Resultatet i variablen vil være følgende:
'!1! !23! !456! xax'
Eksempel
Lad os løse følgende opgave: der er givet strenge
af typen 'aaa@bbb' - bogstaver, så @-symbol,
derefter bogstaver. Det er nødvendigt at bytte om på bogstaverne
før @ og efter.
let str = 'aaa@bbb ccc@ddd';
let res = str.replace(/([a-z]+)@([a-z]+)/g, '$2@$1');
Resultatet i variablen vil være følgende:
'bbb@aaa ddd@ccc'
Praktiske opgaver
Der er givet en streng:
let str = '12 34 56 78';
Bytt om på cifrene i alle tocifrede tal.
Der er givet en streng med en dato:
let str = '31.12.2025';
Omregn denne dato til '2025.12.31'.