PHP да регуляр ифодалардаги гуруҳлаш қавслари
Олдинги мисолларда такрорлаш операторлари фақат ўзидан олдин турган битта белгига таъсир қилар эди. Агар биз уларнинг бир нечта белгига таъсир қилишини истасак, нима қилиш керак?
Бунга гуруҳлаш қавслари
'(' ва ')' ёрдам беради.
Улар шундай ишлайди: агар бiron нарса гуруҳлаш қавслари
ичида турса ва ')' дан кейин darhol такрорлаш оператори
турса - у қавс ичидаги ҳамма нарсага таъсир қилади.
Кейинги мисолда қидируш намунаси шундай
коринади: '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 ёки undan koʻp марта такрорланади.