Krøllete parenteser i JavaScript regulære uttrykk

Operatorene '+', '*', '?' er gode, men med dem kan man ikke spesifisere et konkret antall repetisjoner. I dette tilfellet vil operatoren {} komme til unnsetning.

Den fungerer som følger: {5} - fem repetisjoner, {2,5} – gjentas fra to til fem (begge inkludert), {2,} - gjentas to eller flere ganger. Vær oppmerksom på at en slik variant - {,2} - ikke finnes. Se på eksemplene:

Eksempel

I dette eksemplet ser søkemønsteret slik ut: bokstaven 'x', bokstaven 'a' en eller to ganger, bokstaven 'x':

javascriptlet str = 'xx xax xaax xaaax';
let res = str.replace(/xa{1,2}x/g, '!');

Resultatet som skrives til variabelen blir følgende:

javascript'xx ! ! xaaax'

Eksempel

I dette eksemplet ser søkemønsteret slik ut: bokstaven 'x', bokstaven 'a' to ganger eller mer, bokstaven 'x':

javascriptlet str = 'xx xax xaax xaaax';
let res = str.replace(/xa{2,}x/g, '!');

Resultatet som skrives til variabelen blir følgende:

javascript'xx xax ! !'

Eksempel

I dette eksemplet ser søkemønsteret slik ut: bokstaven 'x', bokstaven 'a' tre ganger, bokstaven 'x':

javascriptlet str = 'xx xax xaax xaaax';
let res = str.replace(/xa{3}x/g, '!');

Resultatet som skrives til variabelen blir følgende:

javascript'xx xax xaax !'

Eksempel

I dette eksemplet ser søkemønsteret slik ut: bokstaven 'a' ti ganger:

javascriptlet str = 'aaa aaaaaaaaaa aaa';
let res = str.replace(/a{10}/g, '!');

Resultatet som skrives til variabelen blir følgende:

javascript'aaa ! aaa'

Eksempel

I dette eksemplet ønsket forfatteren av koden dette mønsteret: bokstaven 'x', bokstaven 'a' tre ganger eller mindre, bokstaven 'x', men dessverre fungerer ikke {,3}. Man må spesifisere eksplisitt:

javascriptlet str = 'xx xax xaax xaaax';
let res = str.replace(/xa{1,3}x/g, '!');

Resultatet som skrives til variabelen blir følgende:

javascript'xx ! ! !'

Eksempel

Null er også tillatt:

javascriptlet str = 'xx xax xaax xaaax';
let res = str.replace(/xa{0,3}x/g, '!');

Resultatet som skrives til variabelen blir følgende:

javascript'! ! ! !'

Praktiske oppgaver

Задание 1

Gitt en streng:

javascriptlet str = 'aa aba abba abbba abbbba abbbbba';

Skriv et regulært uttrykk som finner strengene 'abba', 'abbba', 'abbbba' og bare dem.

Задание 2

Gitt en streng:

javascriptlet str = 'aa aba abba abbba abbbba abbbbba';

Skriv et regulært uttrykk som finner strenger av typen 'aba', der 'b' forekommer mindre enn 3 ganger (inkludert).

Задание 3

Gitt en streng:

javascriptlet str = 'aa aba abba abbba abbbba abbbbba';

Skriv et regulært uttrykk som finner strenger av typen 'aba', der 'b' forekommer mer enn 4 ganger (inkludert).