⊗ppPmRgRO 224 of 447 menu

Operátory opakovania znakov v regulárnych výrazoch

Nastávajú situácie, keď chceme určiť, že znak sa opakuje daný počet krát. Ak poznáme presný počet opakovaní, môžeme ho jednoducho napísať viackrát - #aaaa#. Ale čo robiť, ak chceme povedať niečo také: opakovať jeden alebo viac krát?

Na to existujú operátory (kvantifikátory) opakovania: plus + (jeden alebo viac krát), hviezdička * (nula alebo viac krát) a otáznik ? (nula alebo jeden krát). Tieto operátory pôsobia na znak, ktorý stojí pred nimi.

Pozrime sa na prácu týchto operátorov na príkladoch.

Príklad

Nájdeme všetky podreťazce podľa vzoru písmeno 'x', písmeno 'a' jeden alebo viac krát, písmeno 'x':

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

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

'xx ! ! ! xbx'

Príklad

Nájdeme všetky podreťazce podľa vzoru písmeno 'x', písmeno 'a' nula alebo viac krát, písmeno 'x':

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

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

'! ! ! ! xbx'

Príklad

Nájdeme všetky podreťazce podľa vzoru písmeno 'x', písmeno 'a' nula alebo jeden krát, písmeno 'x':

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

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

'! ! xaax xbx'

Praktické úlohy

Daný reťazec:

<?php $str = 'aa aba abba abbba abca abea'; ?>

Napíšte regulárny výraz, ktorý nájde reťazce podľa vzoru: písmeno 'a', písmeno 'b' jeden alebo viac krát, písmeno 'a'.

Daný reťazec:

<?php $str = 'aa aba abba abbba abca abea'; ?>

Napíšte regulárny výraz, ktorý nájde reťazce podľa vzoru: písmeno 'a', písmeno 'b' nula alebo viac krát, písmeno 'a'.

Daný reťazec:

<?php $str = 'aa aba abba abbba abca abea'; ?>

Napíšte regulárny výraz, ktorý nájde reťazce podľa vzoru: písmeno 'a', písmeno 'b' jeden krát alebo žiadny, písmeno 'a'.

Daný reťazec:

<?php $str = 'aa aba abba abbba abca abea'; ?>

Napíšte regulárny výraz, ktorý nájde reťazce 'aa', 'aba', 'abba', 'abbba', a nezachytí 'abca' a 'abea'.

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ť