Регулярду 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 же андан көп жолу кайталанат.