Гурӯҳсозии қавсҳо дар регуляриҳои 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 ё зиёда маротиба.