Tegngjentaksoperatører i regulære uttrykk

Det oppstår situasjoner der vi ønsker å spesifisere at et tegn gjentas et gitt antall ganger. Hvis vi kjenner det eksakte antallet repetisjoner, kan vi ganske enkelt skrive det flere ganger - /aaaa/. Men hva gjør vi hvis vi vil si noe slikt som: gjenta én eller flere ganger?

For dette finnes det gjentaksoperatorer (kvantifisorere): plusstegn + (én eller flere ganger), stjerne * (null eller flere ganger) og spørsmålstegn ? (null eller én gang). Disse operatorene virker på tegnet som står foran dem.

La oss se på hvordan disse operatorene fungerer med eksempler.

Eksempel

La oss finne alle delstrenger som matcher mønsteret tegn 'x', tegn 'a' én eller flere ganger, tegn 'x':

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

Resultatet i variabelen blir følgende:

javascript'xx ! ! ! xbx'

Eksempel

La oss finne alle delstrenger som matcher mønsteret tegn 'x', tegn 'a' null eller flere ganger, tegn 'x':

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

Resultatet i variabelen blir følgende:

javascript'! ! ! ! xbx'

Eksempel

La oss finne alle delstrenger som matcher mønsteret tegn 'x', tegn 'a' null eller én gang, tegn 'x':

javascriptlet str = 'xx xax xaax xbx';
let res = str.replace(/xa?x/g, '!');

Resultatet i variabelen blir følgende:

javascript'! ! xaax xbx'

Praktiske oppgaver

Задание 1

Gitt en streng:

javascriptlet str = 'aa aba abba abbba abca abea';

Skriv et regulært uttrykk som finner strengene 'aba', 'abba', 'abbba' etter mønsteret: tegn 'a', tegn 'b' hvilket som helst antall ganger, tegn 'a'.

Задание 2

Gitt en streng:

javascriptlet str = 'aa aba abba abbba abca abea';

Skriv et regulært uttrykk som finner strengene 'aa', 'aba', 'abba', 'abbba' etter mønsteret: tegn 'a', tegn 'b' hvilket som helst antall ganger (inkludert ingen ganger), tegn 'a'.

Задание 3

Gitt en streng:

javascriptlet str = 'aa aba abba abbba abca abea';

Skriv et regulært uttrykk som finner strengene 'aa', 'aba' etter mønsteret: tegn 'a', tegn 'b' én gang eller ingen, tegn 'a'.

Задание 4

Gitt en streng:

javascriptlet str = 'aa aba abba abbba abca abea';

Skriv et regulært uttrykk som finner strengene 'aa', 'aba', 'abba', 'abbba', uten å fange 'abca' og 'abea'.