⊗jsSpRERDP 128 of 294 menu

Standard lommer i replace-metoden med regulære udtryk i JavaScript

{{desc: I denne lektion vil vi studere arbejdet med lommer %vFran, og i JavaScript.}}

I replace-metoden, udover lommer med dine egne numre, er der altid tilgængelige standard lommer: %vFran - hele det fundne match, $` og $' - delen af strengen før og efter matchet. Lad os se på deres funktion med eksempler.

Eksempel

Lad os finde alle tal og indpakke dem i runde parenteser:

let str = '1 23 456'; let res = str.replace(/\d+/g, '(%vFran)');

Resultatet i variablen vil være følgende:

'(1) (23) (456)'

Eksempel

Lad os finde tegnet @ og erstatte det med det, der står før det, hunden, og det, der står efter det. Alt dette skal skrives i runde parenteser:

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

Resultatet i variablen vil være følgende:

'123(123@456)456'

Eksempel

Lad os sige, at vi vil finde dollartegnet og indpakke det i anførselstegn ``. I dette tilfælde, for at $` ikke bliver opfattet som en kommando, skal dollartegnet fordobles:

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

Resultatet i variablen vil være følgende:

'aaa `$` bbb'

Praktiske opgaver

Der gives en streng:

let str = 'a1b2c3';

Skriv et regulært udtryk, der ved siden af hvert cifre skriver det samme cifre.

Der gives en streng:

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

Erstat domæner med links af typen:

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