⊗jsSpREHHy 110 of 294 menu

Kötőjel a halmazokon belül a JavaScript reguláris kifejezéseiben

A kötőjel szintén speciális karakter a [ ] halmazon belül (kívül viszont nem). Ha a kötőjelre van szükséged, mint karakterre, akkor helyezd oda, ahol nem fogják csoportelválasztóként értelmezni.

Miért fontos ez: létrehozhatsz egy karaktercsoportot anélkül, hogy észrevennéd. Például így - '[:-@]' - azt hiszed, hogy a kettőspontot, a kötőjelet és a kukacot választod ki, de valójában a : és a @ közötti karakterek csoportját kapod. Ehhez a csoporthoz a következő karakterek tartoznak: ? < = > : ;

Honnan jönnek ezek? Az ASCII táblázatból - a kettőspontnak kisebb a sorszáma, mint a kukacnak - és így jön létre a csoport. Vagyis minden csoport az ASCII tábla szerint jön létre (ezt hasznosíthatod is, ha akarod).

Hogyan kezeljük ezt: helyezd a kötőjel karaktert oda, ahol biztosan nem fogják csoportként értelmezni, például az elejére vagy a végére (vagyis a [ után vagy a ] előtt).

A kötőjelet escape-elheted is - ekkor önmagát fogja jelölni, függetlenül a helyzetétől. Például a [:-@] helyett írj [:\-@] - és már nem lesz csoport, hanem három karakter lesz - kettőspont, kötőjel és kukac @.

Példa

A következő példában a keresési minta a következő: 1 szám, majd 'a' és 'z' közötti betű, majd 2 szám:

let str = '1a2 1-2 1c2 1z2'; let res = str.replace(/1[a-z]2/g, '!');

Ennek eredményeképpen a változóba a következő íródik:

'! 1-2 ! !'

Példa

Most escape-eljük a kötőjelet. Ennek eredményeképpen a keresési minta a következő: 1 szám, majd 'a' betű, vagy kötőjel, vagy 'z' betű, majd 2 szám:

let str = '1a2 1-2 1c2 1z2'; let res = str.replace(/1[a\-z]2/g, '!');

Ennek eredményeképpen a változóba a következő íródik:

'! ! 1c2 !'

Példa

Egyszerűen áthelyezhetjük a kötőjelet anélkül, hogy escape-elnénk:

let str = '1a2 1-2 1c2 1z2'; let res = str.replace(/1[az-]2/g, '!');

Ennek eredményeképpen a változóba a következő íródik:

'! ! 1c2 !'

Példa

A következő példában a keresési minta a következő: az első karakter kisbetűk vagy kötőjel '-', majd két 'x' betű:

let str = 'axx Axx -xx @xx'; let res = str.replace(/[a-z-]xx/g, '!');

Ennek eredményeképpen a változóba a következő íródik:

'! Axx ! @xx'

Példa

A következő példában a keresési minta a következő: az első karakter kis- vagy nagybetűk, vagy kötőjel '-', majd két 'x' betű:

let str = 'axx Axx -xx @xx'; let res = str.replace(/[a-zA-Z-]xx/g, '!');

Ennek eredményeképpen a változóba a következő íródik:

'! ! ! @xx'

Példa

A kötőjelet két csoport közé is helyezhetjük - ott biztosan nem fog még egy csoportot létrehozni:

let str = 'axx 9xx -xx @xx'; let res = str.replace(/[a-z-0-9]xx/g, '!');

Ennek eredményeképpen a változóba a következő íródik:

'! ! ! @xx'

Gyakorlati feladatok

Adott egy sztring:

let str = 'xaz xBz xcz x-z x@z';

Találd meg az összes sztringet a következő minta szerint: 'x' betű, nagy vagy kis betű vagy kötőjel, 'z' betű.

Adott egy sztring:

let str = 'xaz x$z x-z xcz x+z x%z x*z';

Találd meg az összes sztringet a következő minta szerint: 'x' betű, majd vagy dollár, vagy kötőjel vagy plusz, majd 'z' betű.

Magyar
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
A weboldal működéséhez, elemzéshez és személyre szabáshoz sütiket használunk. Az adatfeldolgozás a Adatvédelmi irányelvek szerint történik.
összes elfogadása beállítás elutasítás