Standaard groepen in de replace-methode van JavaScript regular expressions

In de replace-methode zijn, naast groepen met uw eigen nummers, ook altijd standaard groepen beschikbaar: %vFran - de volledige gevonden match, $` en $' - het deel van de string voor en na de match. Laten we hun werking bekijken aan de hand van voorbeelden.

Voorbeeld

Laten we alle getallen vinden en ze tussen ronde haakjes zetten:

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

Als resultaat wordt het volgende in de variabele geschreven:

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

Voorbeeld

Laten we het @-symbool vinden en het vervangen door wat ervoor staat, de 'at', en wat erin staat erna. We schrijven dit alles tussen ronde haakjes:

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

Als resultaat wordt het volgende in de variabele geschreven:

javascript'123(123@456)456'

Voorbeeld

Stel we willen een dollarteken vinden en het in backticks `` plaatsen. In dit geval, om te voorkomen dat $` wordt opgevat als een opdracht, moet het dollarteken worden verdubbeld:

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

Als resultaat wordt het volgende in de variabele geschreven:

javascript'aaa `$` bbb'

Praktische opgaven

Задание 1

Gegeven een string:

javascriptlet str = 'a1b2c3';

Schrijf een reguliere expressie die naast elk cijfer hetzelfde cijfer plaatst.

Задание 2

Gegeven een string:

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

Vervang de domeinen door links van het formulier:

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