PHP'de Gruplayan Parantezler
Önceki örneklerde tekrar operatörleri sadece kendilerinden önce gelen bir karakter üzerinde etkili oldu. Peki ya birkaç karakter üzerinde etkili olmalarını istiyorsak?
Bunun için gruplayan parantezler
'(' ve ')' vardır.
Şu şekilde çalışırlar:
eğer bir şey gruplayan parantezlerin içindeyse
ve hemen ')' sonrasında bir tekrar operatörü
bulunuyorsa - bu operatör parantezlerin içindeki
her şey üzerinde etkili olur.
Aşağıdaki örnekte arama kalıbı şu şekildedir:
'x' harfi, ardından 'ab' dizesi
bir veya daha fazla kez, sonra 'x' harfi:
<?php
$str = 'xabx xababx xaabbx';
$res = preg_replace('#x(ab)+x#', '!', $str);
?>
Sonuç olarak değişkene aşağıdakiler yazılacaktır:
'! ! xaabbx'
Bir dize verildi:
<?php
$str = 'ab abab abab abababab abea';
?>
Şu kalıba uyan dizeleri bulacak bir düzenli ifade yazın:
'ab' dizesi
1 veya daha fazla tekrarlanır.