Združevalni oklepaji v regularnih izrazih PHP
V prejšnjih primerih so operatorji ponavljanja delovali le na en znak, ki je stal pred njimi. Kaj storiti, če želimo, da delujejo na več znakov?
Za to obstajajo združevalni oklepaji
'(' in ')'. Delujejo takole:
če je nekaj v združevalnih oklepajih
in takoj za ')' stoji operator ponavljanja
- bo deloval na vse, kar je znotraj oklepajev.
V naslednjem primeru je vzorec iskanja
takšen: črka 'x', nato niz 'ab'
enkrat ali večkrat, nato črka 'x':
<?php
$str = 'xabx xababx xaabbx';
$res = preg_replace('#x(ab)+x#', '!', $str);
?>
Kot rezultat se bo v spremenljivko zapisalo naslednje:
'! ! xaabbx'
Podan je niz:
<?php
$str = 'ab abab abab abababab abea';
?>
Napišite regularni izraz, ki bo našel nize
po vzorcu: niz 'ab' se ponovi
1 ali večkrat.