Standard-Capturing-Groups in der replace-Methode von JavaScript-Regulären Ausdrücken
In der replace-Methode sind neben den Capturing-Groups mit Ihren
eigenen Nummern auch immer Standard-Capturing-Groups verfügbar:
%vFran - die gesamte gefundene Übereinstimmung,
und - der Teil des Strings vor und
nach der Übereinstimmung. Lassen Sie uns ihre Funktionsweise
an Beispielen betrachten.
Beispiel
Lassen Sie uns alle Zahlen finden und sie in runde Klammern einschließen:
let str = '1 23 456';
let res = str.replace(/\d+/g, '(%vFran)');
Als Ergebnis wird Folgendes in die Variable geschrieben:
'(1) (23) (456)'
Beispiel
Lassen Sie uns das Zeichen @ finden und es durch das, was davor steht, das @-Zeichen selbst, und das, was dahinter steht, ersetzen. Alles schreiben wir in runde Klammern:
let str = '123@456';
let res = str.replace(/@/g, "(@)");
Als Ergebnis wird Folgendes in die Variable geschrieben:
'123(123@456)456'
Beispiel
Angenommen, wir möchten ein Dollarzeichen finden und es
in Backticks `` einschließen. In diesem Fall, damit
nicht als Befehl interpretiert wird,
muss das Dollarzeichen verdoppelt werden:
let str = 'aaa $ bbb';
let res = str.replace(/\$/g, '`$`');
Als Ergebnis wird Folgendes in die Variable geschrieben:
'aaa `$` bbb'
Praktische Aufgaben
Gegeben sei ein String:
let str = 'a1b2c3';
Schreiben Sie einen regulären Ausdruck, der neben jeder Ziffer die gleiche Ziffer schreibt.
Gegeben sei ein String:
let str = 'sss site.ru zzz site.com kkk';
Ersetzen Sie die Domains durch Links der Form:
<a href="http://site.ru">site.ru</a>