Predvolené zachytené skupiny v metóde replace v regulárnych výrazoch JavaScript

V metóde replace, okrem zachytených skupín s vašimi číslami, sú vždy dostupné aj štandardné zachytené skupiny: $& - celá nájdená zhoda, $` a $' - časť reťazca pred a po zhode. Pozrime sa na ich prácu na príkladoch.

Príklad

Nájdime všetky čísla a obalme ich do okrúhlych zátvoriek:

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

Výsledkom do premennej sa zapíše nasledovné:

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

Príklad

Nájdime znak @ a nahraďme ho tým, čo stojí pred ním, psíkom, a tým, čo stojí po ňom. Všetko zapíšme v okrúhlych zátvorkách:

javascriptlet str = '123@456';
let res = str.replace(/@/g, "($`@$')");

Výsledkom do premennej sa zapíše nasledovné:

javascript'123(123@456)456'

Príklad

Povedzme, že chceme nájsť dolár a obaliť ho do úvodzoviek `. V tomto prípade, aby $ nebolo pochopené ako príkaz, dolár je potrebné zdvojiť:

javascriptlet str = 'aaa $ bbb';
let res = str.replace(/\$/g, '`$$`');

Výsledkom do premennej sa zapíše nasledovné:

javascript'aaa `$` bbb'

Praktické úlohy

Задание 1

Daný reťazec:

javascriptlet str = 'a1b2c3';

Napíšte regulárny výraz, ktorý vedľa každej číslicy napíše takú istú.

Задание 2

Daný reťazec:

javascriptlet str = 'sss site.ru zzz site.com kkk';

Nahraďte domény odkazami vo forme:

html<a href="http://site.ru">site.ru</a>