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.