⊗ppPmRgGB 225 of 447 menu

Závorky pro skupiny v regulárních výrazech PHP

V předchozích příkladech operátory opakování působily pouze na jeden znak, který stál před nimi. Co dělat, pokud chceme, aby působily na více znaků?

K tomu existují závorky pro skupiny '(' a ')'. Fungují takto: pokud je něco v závorkách pro skupiny a hned za ')' je operátor opakování - bude působit na vše, co je uvnitř závorek.

V následujícím příkladu vypadá vyhledávací vzor takto: písmeno 'x', poté řetězec 'ab' jednou nebo vícekrát, pak písmeno 'x':

<?php $str = 'xabx xababx xaabbx'; $res = preg_replace('#x(ab)+x#', '!', $str); ?>

V důsledku se do proměnné zapíše následující:

'! ! xaabbx'

Je dán řetězec:

<?php $str = 'ab abab abab abababab abea'; ?>

Napište regulární výraz, který najde řetězce podle vzoru: řetězec 'ab' se opakuje 1 nebo vícekrát.

kadarumshy