Kapcsos zárójelek a JavaScript reguláris kifejezéseiben
A '+', '*', '?'
operátorok hasznosak, azonban segítségükkel nem adható
meg egy konkrét ismétlődési szám. Ebben az esetben
a {} operátor segít.
A működése a következő: {5}
- öt ismétlés, {2,5} – két és öt közötti ismétlés (mindkettő beleértve), {2,}
- kétszer vagy többször ismétlődik. Kérjük, vegye figyelembe,
hogy a {,2}
lehetőség nem létezik. Nézze meg a példákat:
Példa
Ebben a példában a keresési minta így néz ki:
'x' betű, 'a' betű egy
vagy kétszer, 'x' betű:
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{1,2}x/g, '!');
Ennek eredményeképpen a változóba a következő íródik:
'xx ! ! xaaax'
Példa
Ebben a példában a keresési minta így néz ki:
'x' betű, 'a' betű kétszer
vagy többször, 'x' betű:
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{2,}x/g, '!');
Ennek eredményeképpen a változóba a következő íródik:
'xx xax ! !'
Példa
Ebben a példában a keresési minta így néz ki:
'x' betű, 'a' betű három
alkalommal, 'x' betű:
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{3}x/g, '!');
Ennek eredményeképpen a változóba a következő íródik:
'xx xax xaax !'
Példa
Ebben a példában a keresési minta így néz ki:
'a' betű tízszer:
let str = 'aaa aaaaaaaaaa aaa';
let res = str.replace(/a{10}/g, '!');
Ennek eredményeképpen a változóba a következő íródik:
'aaa ! aaa'
Példa
Ebben a példában a kód szerzője a következő mintát szerette volna:
'x' betű, 'a' betű háromszor
vagy kevesebbszer, 'x' betű,
de sajnos a {,3} formátum nem működik.
Expliciten kell megadni:
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{1,3}x/g, '!');
Ennek eredményeképpen a változóba a következő íródik:
'xx ! ! !'
Példa
A nulla is megengedett:
let str = 'xx xax xaax xaaax';
let res = str.replace(/xa{0,3}x/g, '!');
Ennek eredményeképpen a változóba a következő íródik:
'! ! ! !'
Gyakorlati feladatok
Adott egy sztring:
let str = 'aa aba abba abbba abbbba abbbbba';
Írjon reguláris kifejezést, amely megtalálja az
'abba', 'abbba', 'abbbba'
sztringeket és csak azokat.
Adott egy sztring:
let str = 'aa aba abba abbba abbbba abbbbba';
Írjon reguláris kifejezést, amely megtalálja az
'aba' típusú sztringeket, amelyekben a 'b' betű
kevesebb, mint 3 alkalommal fordul elő (beleértve).
Adott egy sztring:
let str = 'aa aba abba abbba abbbba abbbbba';
Írjon reguláris kifejezést, amely megtalálja az
'aba' típusú sztringeket, amelyekben a 'b' betű
több, mint 4 alkalommal fordul elő (beleértve).