⊗ppPmRgSHy 238 of 447 menu

Pomlčka vnútri množín v regulárnych výrazoch PHP

Pomlčka - tiež špeciálny znak vnútri [] (no vonku - nie). Ak potrebujete samotnú pomlčku ako symbol - umiestnite ju tam, kde nebude pochopená ako oddeľovač skupiny.

Prečo je to dôležité: môžete vytvoriť skupinu znakov, ani o tom nevediac. Napríklad, takto - [:-@] - myslíte si, že vyberáte dvojbodku, pomlčku a zavináč, no v skutočnosti sa vytvorí skupina znakov medzi : a @. Do tejto skupiny patria nasledujúce znaky: :, ;, ?, <, =, >.

Odkiaľ sa vzali? Z tabuľky ASCII - dvojbodka má menšie číslo ako zavináč - a vznikne skupina. To znamená, že všetky skupiny sa tvoria podľa tabuľky ASCII (ak chcete, môžete to využiť).

Ako s tým bojovať: umiestnite symbol pomlčky tam, kde určite nebude pochopený ako symbol skupiny, napríklad na začiatku alebo na konci (to znamená za [ alebo pred ]).

Tiež môžete pomlčku escapovať - potom bude znamenať samu seba bez ohľadu na pozíciu. Napríklad, namiesto [:-@] napísať [:\-@] - a skupina už nevznikne, budú tam tri znaky - dvojbodka, pomlčka a zavináč @.

Príklad

V nasledujúcom príklade je vyhľadávací vzor taký: číslica 1, potom písmeno od 'a' do 'z', potom číslica 2:

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

Výsledkom do premennej sa zapíše nasledovné:

'! 1-2 ! !'

Príklad

Poďme teraz escapovať pomlčku. Výsledkom je vyhľadávací vzor taký: číslica 1, potom písmeno 'a', alebo pomlčka, alebo písmeno 'z', potom číslica 2:

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

Výsledkom do premennej sa zapíše nasledovné:

'! ! 1c2 !'

Príklad

Môžete jednoducho presunúť pomlčku, bez escapovania:

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

Výsledkom do premennej sa zapíše nasledovné:

'! ! 1c2 !'

Príklad

V nasledujúcom príklade je vyhľadávací vzor taký: prvý symbol - to sú malé písmená alebo pomlčka '-', potom dve písmená 'x':

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

Výsledkom do premennej sa zapíše nasledovné:

'! Axx ! @xx'

Príklad

V nasledujúcom príklade je vyhľadávací vzor taký: prvý symbol - to sú malé, veľké písmená alebo pomlčka '-', potom dve písmená 'x':

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

Výsledkom do premennej sa zapíše nasledovné:

'! ! ! @xx'

Príklad

Môžete umiestniť pomlčku medzi dve skupiny - tam určite ešte nevytvorí ďalšiu skupinu:

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

Výsledkom do premennej sa zapíše nasledovné:

'! ! ! @xx'

Praktické úlohy

Daný reťazec:

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

Nájdite všetky reťazce podľa nasledujúceho vzoru: písmeno 'x', veľké alebo malé písmeno alebo pomlčka, písmeno 'z'.

Daný reťazec:

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

Nájdite všetky reťazce podľa nasledujúceho vzoru: písmeno 'x', potom alebo dolár, alebo pomlčka alebo plus, potom písmeno 'z'.

Slovenčina
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používame cookies na fungovanie stránky, analýzu a personalizáciu. Spracúvanie údajov prebieha v súlade s Politikou ochrany osobných údajov.
prijať všetky nastaviť odmietnuť