⊗ppPmRgRO 224 of 447 menu

Operátory opakování znaků v regulárních výrazech

Existují situace, kdy chceme určit, že se znak opakuje daný početrát. Pokud známe přesný počet opakování, můžeme jej jednoduše napsat několikrát - #aaaa#. Ale co dělat, když chceme říci toto: opakovat jednou nebo více krát?

K tomu slouží operátory (kvantifikátory) opakování: plus + (jednou nebo více krát), hvězdička * (nula nebo více krát) a otazník ? (nula nebo jednou). Tyto operátory působí na znak, který stojí před nimi.

Podívejme se na práci těchto operátorů na příkladech.

Příklad

Najděte všechny podřetězce podle vzoru písmeno 'x', písmeno 'a' jednou nebo více krát, písmeno 'x':

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

Výsledkem bude v proměnné následující:

'xx ! ! ! xbx'

Příklad

Najděte všechny podřetězce podle vzoru písmeno 'x', písmeno 'a' nula nebo více krát, písmeno 'x':

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

Výsledkem bude v proměnné následující:

'! ! ! ! xbx'

Příklad

Najděte všechny podřetězce podle vzoru písmeno 'x', písmeno 'a' nula nebo jednou, písmeno 'x':

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

Výsledkem bude v proměnné následující:

'! ! xaax xbx'

Praktické úlohy

Je dán řetězec:

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

Napište regulární výraz, který najde řetězce podle vzoru: písmeno 'a', písmeno 'b' jednou nebo více krát, písmeno 'a'.

Je dán řetězec:

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

Napište regulární výraz, který najde řetězce podle vzoru: písmeno 'a', písmeno 'b' nula nebo více krát, písmeno 'a'.

Je dán řetězec:

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

Napište regulární výraz, který najde řetězce podle vzoru: písmeno 'a', písmeno 'b' jednou nebo žádnou, písmeno 'a'.

Je dán řetězec:

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

Napište regulární výraz, který najde řetězce 'aa', 'aba', 'abba', 'abbba', a nezachytí 'abca' a 'abea'.

Čeština
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Používáme soubory cookie pro fungování webu, analýzu a personalizaci. Zpracování údajů probíhá v souladu s Zásadami ochrany osobních údajů.
přijmout vše přizpůsobit odmítnout