Herhalingsoperateurs vir karakters in gereelde uitdrukkings

Daar is situasies waar ons wil aandui dat 'n karakter 'n gegewe aantal keer herhaal word. As ons die presiese aantal herhalings ken, kan ons dit eenvoudig 'n paar keer skryf - /aaaa/. Maar wat om te doen as ons wil sê so iets: herhaal een of meer keer?

Vir hierdie bestaan daar herhalingsoperateurs (kwantifiseerders): plus + (een of meer keer), sterretjie * (nul of meer keer) en vraagteken ? (nul of een keer). Hierdie operateurs tree in op die karakter wat voor hulle staan.

Kom ons kyk na die werking van hierdie operateurs met voorbeelde.

Voorbeeld

Laat ons alle substrings vind volgens patroon letter 'x', letter 'a' een of meer keer, letter 'x':

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

As gevolg hiervan sal die volgende in die veranderlike geskryf word:

javascript'xx ! ! ! xbx'

Voorbeeld

Laat ons alle substrings vind volgens patroon letter 'x', letter 'a' nul of meer keer, letter 'x':

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

As gevolg hiervan sal die volgende in die veranderlike geskryf word:

javascript'! ! ! ! xbx'

Voorbeeld

Laat ons alle substrings vind volgens patroon letter 'x', letter 'a' nul of een keer, letter 'x':

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

As gevolg hiervan sal die volgende in die veranderlike geskryf word:

javascript'! ! xaax xbx'

Praktiese probleme

Задание 1

Gegee 'n string:

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

Skryf 'n gereelde uitdrukking wat die strings sal vind 'aba', 'abba', 'abbba' volgens patroon: letter 'a', letter 'b' enige aantal kere, letter 'a'.

Задание 2

Gegee 'n string:

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

Skryf 'n gereelde uitdrukking wat die strings sal vind 'aa', 'aba', 'abba', 'abbba' volgens patroon: letter 'a', letter 'b' enige aantal kere (insluitend geen keer), letter 'a'.

Задание 3

Gegee 'n string:

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

Skryf 'n gereelde uitdrukking wat die strings sal vind 'aa', 'aba' volgens patroon: letter 'a', letter 'b' een keer of geen, letter 'a'.

Задание 4

Gegee 'n string:

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

Skryf 'n gereelde uitdrukking wat die strings sal vind 'aa', 'aba', 'abba', 'abbba', sonder om 'abca' en 'abea' te vang.