Амрҳои 'Ё' дар ибораҳои мунтазами PHP
Дар ин дарс мо амри
|-ро таҳлил мекунем, ки намуди
қувватмандтари Ё нисбат ба
амри [] мебошад. Ин амр имкон медиҳад
ки ибораи мунтазам ба чанд қисм тақсим карда шавад.
Дар ин ҳолат матни ҷустуҷӯёбӣ ё ба як қисми
ибораи мунтазам ё ба қисми дигар рост меояд. Биёед
дар мисолҳо тавассути намунаҳо нигарем.
Мисол
Дар ин мисол шаблони ҷустуҷӯ инҳоянд: се
ҳарфи 'a' ё се ҳарфи 'b':
<?php
$str = 'aaa bbb abb';
$res = preg_replace('#a{3}|b{3}#', '!', $str);
?>
Дар натиҷа ба тағйирёбандаи зерин сабт карда мешавад:
'! ! abb'
Мисол
Дар ин мисол шаблони ҷустуҷӯ инҳоянд: се
ҳарфи 'a' ё аз 1 ва зиёдтар
ҳарфи 'b':
<?php
$str = 'aaa bbb bbbb bbbbb axx';
$res = preg_replace('#a{3}|b+#', '!', $str);
?>
Дар натиҷа ба тағйирёбандаи зерин сабт карда мешавад:
'! ! ! ! axx'
Мисол
Дар ин мисол шаблони ҷустуҷӯ инҳоянд: як ҳарф ё зиёда аз як ҳарф ё се рақам:
<?php
$str = 'a ab abc 1 12 123';
$res = preg_replace('#[a-z]+|\d{3}#', '!', $str);
?>
Дар натиҷа ба тағйирёбандаи зерин сабт карда мешавад:
'! ! ! 1 12 !'
Мисол
Хати амудӣ метавонад ибораи мунтазамро на ба ду қисм, балки ба ҳар миқдори қисмҳо тақсим кунад:
<?php
$str = 'aaa bbb ccc ddd';
$res = preg_replace('#a+|b+|c+#', '!', $str);
?>
Дар натиҷа ба тағйирёбандаи зерин сабт карда мешавад:
'! ! ! ddd'
Мисол
Агар хати амудӣ дар дохили қавсҳои давра
истода бошад, пас 'ё' танҳо дар дохили
ин қавсҳо кор мекунад. Барои мисол биёед сатрҳоро
ба воситаи шаблони зерин пайдо кунем: дар аввал
ҳарфи 'a', ё 'b' як маротиба ё зиёдтар
истода бошад, ва баъдан ду ҳарфи 'x':
<?php
$str = 'axx bxx bbxx exx';
$res = preg_replace('#(a|b+)xx#', '!', $str);
?>
Дар натиҷа ба тағйирёбандаи зерин сабт карда мешавад:
'! ! ! exx'
Масъалаҳои амалӣ
Сатр дода шудааст:
<?php
$str = 'aeeea aeea aea axa axxa axxxa';
?>
Ибораи мунтазаме нависед, ки сатрҳоро
ба воситаи шаблони зерин пайдо кунад: дар канорҳо ҳарфи 'a' истода бошад,
ва миёни онҳо - ё ҳарфи 'e' ба ҳар миқдор
ё ҳарфи 'x' ба ҳар миқдор.
Сатр дода шудааст:
<?php
$str = 'aeeea aeea aea axa axxa axxxa';
?>
Ибораи мунтазаме нависед, ки сатрҳоро
ба воситаи шаблони зерин пайдо кунад: дар канорҳо ҳарфи 'a' истода бошад,
ва миёни онҳо - ё ҳарфи 'e' ду маротиба
ё ҳарфи 'x' ба ҳар миқдор.