PHP regulýar ifadelerinde toparlaýjy ýaýlarlar
Öňki mysallarda gaýtalanma operatorlary diňe öňlerinde duran bir nyşana täsir etdi. Eger-de olary birnäçe nyşana täsir etdirmek isleýän bolsak, näme etmeli?
Bunun üçin toparlaýjy ýaýlar
'(' we ')' bar. Olar şeýle işleýär:
eger bir zat toparlaýjy ýaýlaryň içinde durýan bolsa
we ')' nyşanynyň derrew yzysüre
gaýtalanma operator durýan bolsa - ol ýaýlaryň içindäki
hemme zada täsir eder.
Aşakdaky mysalda gözleg şablony şeýle görünýär:
'x' harp, soňra 'ab' setiri
bir ýa-da birnäçe gezek, soň bolsa 'x' harpy:
<?php
$str = 'xabx xababx xaabbx';
$res = preg_replace('#x(ab)+x#', '!', $str);
?>
Netijede üýtgeýjäniň içine aşakdaky ýazylar:
'! ! xaabbx'
Setir berlen:
<?php
$str = 'ab abab abab abababab abea';
?>
'ab' setiriniň
1 ýa-da birnäçe gezek gaýtalanýandygy
şablonyna laýyk gelýän setirleri tapýan
regulýar ifadäni ýazyň.