Karakterkészletek a JavaScript reguláris kifejezéseiben
A \d és a \w karaktercsoportok nem
nagyon rugalmasak. Még egy ilyen egyszerű feladat,
mint a minden betű megkeresése, de nem számjegy -
sem oldható meg velük. Ilyen feladatokra
a szögletes zárójeleket kell használni, amelyek
egy 'vagy' műveletet képviselnek.
A szögletes zárójelek egy karaktert helyettesítenek,
bármelyiket, amely a zárójelben szerepel. Például
így: /x[abc]x/ - azt mondjuk, hogy
a széleken x betűknek kell állniuk, és középen
- egy karakter: vagy 'a', vagy 'b',
vagy 'c'.
A szögletes zárójelek után írhatunk ismétlési operátorokat.
Például így: /x[abc]+x/
- azt mondjuk, hogy az x-ek között bármennyi
'a', 'b'
és 'c' karakter lehet - bármilyen kombinációban.
Nem csak felsorolhatunk karaktereket, de létrehozhatunk
karaktercsoportokat is, két karakter közé kötőjelet írva.
Például így: [a-d] -
mindent megkapunk a 'a'-tól
a 'd'-ig.
Nézzük meg példákon.
Példa
Ebben a példában a keresési minta így néz ki:
az x-ek között bármely betű a 'a'-tól
a 'z'-ig:
let str = 'xax xbx xcx x@x';
let res = str.replace(/x[a-z]x/g, '!');
Ennek eredményeképpen a változóba a következő íródik:
'! ! ! x@x'
Példa
Ebben a példában a keresési minta így néz ki:
az x-ek között bármely betű a 'a'-tól
a 'k'-ig:
let str = 'xax xbx xmx x@x';
let res = str.replace(/x[a-k]x/g, '!');
Ennek eredményeképpen a változóba a következő íródik:
'! ! xmx x@x'
Példa
Ebben a példában a keresési minta így néz ki:
az x-ek között bármely betű a 'A'-tól
a 'Z'-ig:
let str = 'xax xBx xcx x@x';
let res = str.replace(/x[A-Z]x/g, '!');
Ennek eredményeképpen a változóba a következő íródik:
'xax ! xcx x@x'
Példa
Ebben a példában a keresési minta így néz ki:
az x-ek között bármely számjegy 0-tól 9-ig:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[0-9]x/g, '!');
Ennek eredményeképpen a változóba a következő íródik:
'xax ! ! ! x@x'
Példa
Ebben a példában a keresési minta így néz ki:
az x-ek között bármely számjegy 3-tól 7-ig:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[3-7]x/g, '!');
Ennek eredményeképpen a változóba a következő íródik:
'xax x1x ! ! x@x'
Példa
Ebben a példában a keresési minta így néz ki:
az x-ek között bármely betű a 'a'-tól
a 'z'-ig vagy számjegy 1-től 9-ig:
let str = 'xax x1x x3x x5x x@x';
let res = str.replace(/x[a-z1-9]x/g, '!');
Ennek eredményeképpen a változóba a következő íródik:
'! ! ! ! x@x'
Példa
Ebben a példában a keresési minta így néz ki:
az x-ek között bármely betű a 'a'-tól
a 'z'-ig vagy betű a 'A'-tól
a 'Z'-ig:
let str = 'xax xBx xcx x5x x@x';
let res = str.replace(/x[a-zA-Z]x/g, '!');
Ennek eredményeképpen a változóba a következő íródik:
'! ! ! x5x x@x'
Példa
Ebben a példában a keresési minta így néz ki:
az x-ek között bármely betű a 'a'-tól
a 'z'-ig vagy a 1, 2 számjegyek:
let str = 'xax xbx x1x x2x x3x';
let res = str.replace(/x[a-z12]x/g, '!');
Ennek eredményeképpen a változóba a következő íródik:
'! ! ! ! x3x'
Példa
Ebben a példában a keresési minta így néz ki:
az x-ek között a 'a'-tól 'z'-ig
tartó betűk, 1 vagy több mennyiségben:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]+x/g, '!');
Ennek eredményeképpen a változóba a következő íródik:
'xx ! ! ! x123x xa3x'
Példa
Tegyük úgy, hogy a betűk száma lehet nulla is:
let str = 'xx xabesx xaadx x123x xa3x';
let res = str.replace(/x[a-z]*x/g, '!');
Ennek eredményeképpen a változóba a következő íródik:
'! ! ! ! x123x xa3x'
Gyakorlati feladatok
Adott egy sztring:
let str = 'aba aea aca aza axa';
Írj reguláris kifejezést a következő minta
alapján: a széleken 'a' betűk állnak,
közöttük pedig - 'b', 'e'
vagy 'x' betű.
Adott egy sztring:
let str = 'a1a a3a a7a a9a aba';
Írj reguláris kifejezést a következő minta
alapján: a széleken 'a' betűk állnak,
közöttük pedig - 3-tól 6-ig terjedő számjegy.
Adott egy sztring:
let str = 'aba aea afa aha aga';
Írj reguláris kifejezést a következő minta
alapján: a széleken 'a' betűk állnak,
közöttük pedig - a-tól g-ig terjedő betű.
Adott egy sztring:
let str = 'aba aea afa aha aga';
Írj reguláris kifejezést a következő minta
alapján: a széleken 'a' betűk állnak,
közöttük pedig - a-tól f-ig és j-től z-ig terjedő betű.
Adott egy sztring:
let str = 'aAa aea aEa aJa a3a';
Írj reguláris kifejezést a következő minta
alapján: a széleken 'a' betűk állnak,
közöttük pedig - a-tól f-ig és A-tól D-ig terjedő betű.
Adott egy sztring:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Írj reguláris kifejezést a következő minta
alapján: a széleken 'a' betűk állnak,
közöttük pedig - kis latin betűk,
anélkül, hogy a többit érintenénk.
Adott egy sztring:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Írj reguláris kifejezést a következő minta
alapján: a széleken 'a' betűk állnak,
közöttük pedig - kis és nagy latin betűk, anélkül, hogy a többit érintenénk.
Adott egy sztring:
let str = 'aAXa aeffa aGha aza ax23a a3sSa';
Írj reguláris kifejezést a következő minta
alapján: a széleken 'a' betűk állnak,
közöttük pedig - kis latin betűk
és számjegyek, anélkül, hogy a többit érintenénk.