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':
let str = 'xx xax xaax xaaax xbx';
let res = str.replace(/xa+x/g, '!');
As gevolg hiervan sal die volgende in die veranderlike geskryf word:
'xx ! ! ! xbx'
Voorbeeld
Laat ons alle substrings vind volgens patroon letter
'x', letter 'a' nul of meer
keer, letter 'x':
let str = 'xx xax xaax xaaax xbx'
let res = str.replace(/xa*x/g, '!');
As gevolg hiervan sal die volgende in die veranderlike geskryf word:
'! ! ! ! xbx'
Voorbeeld
Laat ons alle substrings vind volgens patroon letter
'x', letter 'a' nul of een
keer, letter 'x':
let str = 'xx xax xaax xbx';
let res = str.replace(/xa?x/g, '!');
As gevolg hiervan sal die volgende in die veranderlike geskryf word:
'! ! xaax xbx'
Praktiese probleme
Gegee 'n string:
let 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'.
Gegee 'n string:
let 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'.
Gegee 'n string:
let 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'.
Gegee 'n string:
let 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.