⊗ppPmRgRO 224 of 447 menu

Karakterismétlési operátorok reguláris kifejezésekben

Vannak helyzetek, amikor azt szeretnénk megadni, hogy egy karakter adott számú alkalommal ismétlődik. Ha ismerjük a pontos ismétlődések számát, akkor egyszerűen többször leírhatjuk - #aaaa#. De mit tegyünk, ha azt szeretnénk mondani: ismétlődik egyszer vagy többször?

Erre szolgálnak az (kvantifikátorok) ismétlési operátorok: plusz + (egyszer vagy többször), csillag * (nulla vagy többször) és kérdezőjel ? (nulla vagy egyszer). Ezek az operátorok az előttük álló karakterre vonatkoznak.

Nézzük meg ezeknek az operátoroknak a működését példákon keresztül.

Példa

Keressük meg az összes résztömböt a következő minta szerint: 'x' betű, 'a' betű egyszer vagy többször, 'x' betű:

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

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

'xx ! ! ! xbx'

Példa

Keressük meg az összes résztömböt a következő minta szerint: 'x' betű, 'a' betű nulla vagy többször, 'x' betű:

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

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

'! ! ! ! xbx'

Példa

Keressük meg az összes résztömböt a következő minta szerint: 'x' betű, 'a' betű nulla vagy egyszer, 'x' betű:

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

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

'! ! xaax xbx'

Gyakorlati feladatok

Adott a következő sztring:

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

Írjon reguláris kifejezést, amely megtalálja a sztringeket a következő minta szerint: 'a' betű, 'b' betű egyszer vagy többször, 'a' betű.

Adott a következő sztring:

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

Írjon reguláris kifejezést, amely megtalálja a sztringeket a következő minta szerint: 'a' betű, 'b' betű nulla vagy többször, 'a' betű.

Adott a következő sztring:

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

Írjon reguláris kifejezést, amely megtalálja a sztringeket a következő minta szerint: 'a' betű, 'b' betű egyszer vagy egyszer sem, 'a' betű.

Adott a következő sztring:

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

Írjon reguláris kifejezést, amely megtalálja a 'aa', 'aba', 'abba', 'abbba' sztringeket anélkül, hogy megfogná a 'abca' és 'abea' sztringeket.

hikafresru