Групни заградувања во регуларните изрази на PHP
Во претходните примери операторите за повторување дејствуваа само на еден знак кој стоеше пред нив. Што да правиме ако сакаме да дејствуваме со нив на повеќе знаци?
За ова постојат групни загради
'(' и ')'. Тие работат на следниов начин:
ако нешто стои во групни загради
и веднаш по ')' стои оператор за повторување
- тој ќе дејствува на сè што е внатре во заградите.
Во следниот пример шаблонот за пребарување изгледа
вака: буква 'x', потоа низа 'ab'
еден или повеќе пати, потоа буква 'x':
<?php
$str = 'xabx xababx xaabbx';
$res = preg_replace('#x(ab)+x#', '!', $str);
?>
Како резултат во променливата ќе се запише следново:
'! ! xaabbx'
Дадена е низа:
<?php
$str = 'ab abab abab abababab abea';
?>
Напишете регуларен израз кој ќе ги пронајде низите
според шаблонот: низа 'ab' се повторува
1 или повеќе пати.