⊗ppPmRgSHy 238 of 447 menu

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

A kötőjel - szintén speciális karakter a [] belsejében (kívül viszont - nem). Ha magát a kötőjelet szeretnéd használni karakterként - 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 gondolod, hogy kettőspontot, kötőjelet és kukacot választasz ki, de valójában a : és a @ közötti karakterek csoportját kapod. Ebbe a csoportba a következő karakterek tartoznak: :, ;, ?, <, =, >.

Honnan jönnek? 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 használhatod 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 (tehát a [ után vagy a ] elé).

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 írd [:\-@] - é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'-tól 'z'-ig betű, majd 2 szám:

<?php $str = '1a2 1-2 1c2 1z2'; $res = preg_replace('#1[a-z]2#', '!', $str); ?>

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:

<?php $str = '1a2 1-2 1c2 1z2'; $res = preg_replace('#1[a\-z]2#', '!', $str); ?>

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:

<?php $str = '1a2 1-2 1c2 1z2'; $res = preg_replace('#1[az-]2#', '!', $str); ?>

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ő: első karakter - kisbetűk vagy kötőjel '-', majd két 'x' betű:

<?php $str = 'axx Axx -xx @xx'; $res = preg_replace('#[a-z-]xx#', '!', $str); ?>

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ő: első karakter - kisbetűk, nagybetűk vagy kötőjel '-', majd két 'x' betű:

<?php $str = 'axx Axx -xx @xx'; $res = preg_replace('#[a-zA-Z-]xx#', '!', $str); ?>

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:

<?php $str = 'axx 9xx -xx @xx'; $res = preg_replace('#[a-z-0-9]xx#', '!', $str); ?>

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

'! ! ! @xx'

Gyakorlati feladatok

Adott egy sztring:

<?php $str = 'xaz xBz xcz x-z x@z'; ?>

Keress meg minden sztringet a következő minta szerint: 'x' betű, nagy vagy kis betű vagy kötőjel, 'z' betű.

Adott egy sztring:

<?php $str = 'xaz x$z x-z xcz x+z x%z x*z'; ?>

Keress meg minden 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