⊗ppPmRgCB 228 of 447 menu

Zložené zátvorky v regulárnych výrazoch PHP

Operátory +, *, ? sú dobré, avšak s ich pomocou nie je možné špecifikovať konkrétny počet opakovaní. V tomto prípade vám príde na pomoc operátor {}.

Funguje nasledovne: {5} - päť opakovaní, {2,5} - opakuje sa od dvoch do piatich (oba vrátane), {2,} - opakuje sa dva a viackrát.

Príklad

V tomto príklade vyhľadávací vzor vyzerá takto: písmeno 'x', písmeno 'a' raz alebo dva krát, písmeno 'x':

<?php $str = 'xx xax xaax xaaax'; $res = preg_replace('#xa{1,2}x#', '!', $str); ?>

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

'xx ! ! xaaax'

Príklad

V tomto príklade vyhľadávací vzor vyzerá takto: písmeno 'x', písmeno 'a' dva krát a viac, písmeno 'x':

<?php $str = 'xx xax xaax xaaax'; $res = preg_replace('#xa{2,}x#', '!', $str); ?>

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

'xx xax ! !'

Príklad

V tomto príklade vyhľadávací vzor vyzerá takto: písmeno 'x', písmeno 'a' tri krát, písmeno 'x':

<?php $str = 'xx xax xaax xaaax'; $res = preg_replace('#xa{3}x#', '!', $str); ?>

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

'xx xax xaax !'

Príklad

V tomto príklade vyhľadávací vzor vyzerá takto: písmeno 'a' desať krát:

<?php $str = 'aaa aaaaaaaaaa aaa'; $res = preg_replace('#a{10}#', '!', $str); ?>

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

'aaa ! aaa'

Príklad

V tomto príklade autor kodu chcel takýto vzor: písmeno 'x', písmeno 'a' tri krát a menej, písmeno 'x', ale, bohužiaľ, takéto - {,3} - nefunguje. Treba špecifikovať explicitne:

<?php $str = 'xx xax xaax xaaax'; $res = preg_replace('#xa{1,3}x#', '!', $str); ?>

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

'xx ! ! !'

Príklad

Nula je tiež povolená:

<?php $str = 'xx xax xaax xaaax'; $res = preg_replace('#xa{0,3}x#', '!', $str); ?>

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

'! ! ! !'

Praktické úlohy

Daný reťazec:

<?php $str = 'aa aba abba abbba abbbba abbbbba'; ?>

Napíšte regulárny výraz, ktorý nájde reťazce 'abba', 'abbba', 'abbbba' a len ich.

Daný reťazec:

<?php $str = 'aa aba abba abbba abbbba abbbbba'; ?>

Napíšte regulárny výraz, ktorý nájde reťazce tvaru 'aba', v ktorých sa 'b' vyskytuje menej ako trikrát (vrátane).

Daný reťazec:

<?php $str = 'aa aba abba abbba abbbba abbbbba'; ?>

Napíšte regulárny výraz, ktorý nájde reťazce tvaru 'aba', v ktorých sa 'b' vyskytuje viac ako štyrikrát (vrátane).

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ť