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