Taskut replace-metodissa JavaScriptin säännöllisissä lausekkeissa

Kun työskentelet replace-metodin kanssa, jos laitsemme jotain taskuun säännöllisessä lausekkeessa, korvausmerkkijonossa voimme lisätä tämän taskun sisällön kirjoittamalla dollar-merkkin $ ja taskun numeron. Esimerkiksi, $1 - ensimmäinen tasku, $2 - toinen tasku ja niin edelleen.

Mitä varten tätä tarvitaan ja kuinka sitä käytetään katsotaan esimerkkien avulla.

Esimerkki

Etsitään kaikki numerot ja niiden tilalle laitamme samat numerot, mutta pyöreissä suluissa. Tätä varten kaikki löydetyt numerot korvaamme niillä itsellään, mutta suluissa:

javascriptlet str = '1 23 456 xax';
let res = str.replace(/(\d+)/g, '($1)');

Tuloksena muuttujaan kirjoitetaan seuraava:

javascript'(1) (23) (456) xax'

Esimerkki

Etsitään kaikki merkkijonot, jotka edustavat numeroita x-kirjaimien ympäröiminä ja korvataan nämä numeroit samalla, mutta '!'-merkeillä ympäröitynä:

javascriptlet str = 'x1x x23x x456x xax';
let res = str.replace(/x(\d+)x/g, '!$1!');

Tuloksena muuttujaan kirjoitetaan seuraava:

javascript'!1! !23! !456! xax'

Esimerkki

Ratkaistaan seuraava tehtävä: annettu merkkijonoja muodossa 'aaa@bbb' - kirjaimia, sitten @-merkki, sitten kirjaimia. Kirjaimet ennen @-merkkiä ja jälkeen on vaihdettava paikoillaan.

javascriptlet str = 'aaa@bbb ccc@ddd';
let res = str.replace(/([a-z]+)@([a-z]+)/g, '$2@$1');

Tuloksena muuttujaan kirjoitetaan seuraava:

javascript'bbb@aaa ddd@ccc'

Käytännön tehtävät

Задание 1

Annettu merkkijono:

javascriptlet str = '12 34 56 78';

Vaihda numeroiden paikat kaikissa kaksinumeroisissa luvuissa.

Задание 2

Annettu merkkijono päivämäärällä:

javascriptlet str = '31.12.2025';

Muunna tämä päivämäärä muotoon '2025.12.31'.