⊗jsSpREEP 129 of 294 menu

Lommer i selve regulære uttrykk i JavaScript

Innholdet i lommene er tilgjengelig ikke bare i erstatningsstrengen, men også i selve det regulære uttrykket: vi kan legge noe i en lomme, og deretter direkte i det regulære uttrykket si at innholdet av denne lommen skal stå her.

Innholdet i lommene er tilgjengelig via deres numre, som har et omvendt skråstrek foran. For eksempel, vil den første lommen være tilgjengelig slik: \1, den andre lommen slik - \2, den tredje - \3 og så videre.

Jeg er sikker på at alt skrevet ovenfor så langt er ganske uklart for deg. Dette er ikke overraskende, siden lommer er det mest vanskeligforståelige stedet i regulære uttrykk. La oss gå gjennom det med eksempler.

Eksempel

La oss si at vi har en streng som denne:

let str = 'aa bb cd ef';

La oss finne alle stedene i den hvor to like bokstaver står etter hverandre. For å løse oppgaven vil vi søke etter en hvilken som helst bokstav, legge den i en lomme, og deretter sjekke om neste symbol er innholdet av denne lommen:

let res = str.replace(/([a-z])\1/g, '!');

Resultatet som skrives inn i variabelen blir følgende:

'! ! cd ef'

Eksempel

La oss si at vi har en streng som denne:

let str = 'asxca buzxb csgd';

La oss finne alle ordene i den hvor den første og siste bokstaven er like. For å løse oppgaven skriver vi følgende mønster: bokstav, deretter en eller flere bokstaver til, og deretter samme bokstav som den første:

let res = str.replace(/([a-z])[a-z]+\1/g, '!');

Resultatet som skrives inn i variabelen blir følgende:

'! ! csgd'

Praktiske oppgaver

Gitt en streng:

let str = 'aaa bbb ccc xyz';

Finn alle delstrenger som har tre like bokstaver etter hverandre.

Gitt en streng:

let str = 'a aa aaa aaaa aaaaa';

Finn alle delstrenger som har to eller flere like bokstaver etter hverandre.

Gitt en streng:

let str = 'aaa aaa bbb bbb ccc ddd';

Finn alle delstrenger som har to like ord etter hverandre.

Norsk
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Vi bruker informasjonskapsler for nettstedets funksjonalitet, analyse og personalisering. Behandling av data foregår i henhold til Personvernerklæringen.
godta alle tilpass avvis