Lokkis sulud JavaScripti regulaaravaldistes
Operaatorid '+', '*', '?'
on head, kuid nendega ei saa täpsustada
konkreetset korduste arvu. Sel juhul
tuleb appi operaator {}.
See töötab järgmiselt: {5}
- viis kordust, {2,5} – kordub
kahest viieni (mõlemad kaasa arvatud), {2,}
- kordub kaks korda või rohkem. Pane tähele,
et sellist varianti - {,2}
- ei ole. Vaata näiteid:
Näide
Selles näites on otsimismustril järgmine välimus:
täht 'x', täht 'a' üks
või kaks korda, täht 'x':
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{1,2}x/g, '!');
Tulemusena kirjutatakse muutujasse järgmine:
'xx ! ! xaaax'
Näide
Selles näites on otsimismustril järgmine välimus:
täht 'x', täht 'a' kaks
korda või rohkem, täht 'x':
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{2,}x/g, '!');
Tulemusena kirjutatakse muutujasse järgmine:
'xx xax ! !'
Näide
Selles näites on otsimismustril järgmine välimus:
täht 'x', täht 'a' kolm
korda, täht 'x':
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{3}x/g, '!');
Tulemusena kirjutatakse muutujasse järgmine:
'xx xax xaax !'
Näide
Selles näites on otsimismustril järgmine välimus:
täht 'a' kümme korda:
let str = 'aaa aaaaaaaaaa aaa';
let res = str.replace(/a{10}/g, '!');
Tulemusena kirjutatakse muutujasse järgmine:
'aaa ! aaa'
Näide
Selles näites soovis koodi autor sellist mustrit:
täht 'x', täht 'a' kolm
korda või vähem, täht 'x',
kuid kahjuks see - {,3} - ei tööta.
Tuleb määrata selgelt:
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{1,3}x/g, '!');
Tulemusena kirjutatakse muutujasse järgmine:
'xx ! ! !'
Näide
Null on samuti lubatud:
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{0,3}x/g, '!');
Tulemusena kirjutatakse muutujasse järgmine:
'! ! ! !'
Praktilised ülesanded
Antud on sõne:
let str = 'aa aba abba abbba abbbba abbbbba';
Kirjutage regulaaravaldis, mis leiab sõned
'abba', 'abbba', 'abbbba'
ja ainult need.
Antud on sõne:
let str = 'aa aba abba abbba abbbba abbbbba';
Kirjutage regulaaravaldis, mis leiab sõned
kujul 'aba', milles 'b' esineb
vähem kui 3 korda (kaasa arvatud).
Antud on sõne:
let str = 'aa aba abba abbba abbbba abbbbba';
Kirjutage regulaaravaldis, mis leiab sõned
kujul 'aba', milles 'b' esineb
rohkem kui 4 korda (kaasa arvatud).