Ծալված փակագծերը PHP-ի կանոնավոր արտահայտություններում
+, *, ? օպերատորները լավն են,
սակայն, դրանց օգնությամբ հնարավոր չէ նշել կոնկրետ
կրկնությունների թիվը: Այս դեպքում ձեզ կօգնի
{} օպերատորը:
Այն աշխատում է հետևյալ կերպ. {5}
- հինգ կրկնություն, {2,5} - կրկնվում է
երկուսից հինգ (երկուսն էլ ներառյալ), {2,}
- կրկնվում է երկու և ավելի անգամ:
Օրինակ
Այս օրինակում որոնման կաղապարն ունի հետևյալ տեսքը.
'x' տառ, 'a' տառ մեկ
կամ երկու անգամ, 'x' տառ:
<?php
$str = 'xx xax xaax xaaax';
$res = preg_replace('#xa{1,2}x#', '!', $str);
?>
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'xx ! ! xaaax'
Օրինակ
Այս օրինակում որոնման կաղապարն ունի հետևյալ տեսքը.
'x' տառ, 'a' տառ երկու
անգամ և ավելի, 'x' տառ:
<?php
$str = 'xx xax xaax xaaax';
$res = preg_replace('#xa{2,}x#', '!', $str);
?>
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'xx xax ! !'
Օրինակ
Այս օրինակում որոնման կաղապարն ունի հետևյալ տեսքը.
'x' տառ, 'a' տառ երեք
անգամ, 'x' տառ:
<?php
$str = 'xx xax xaax xaaax';
$res = preg_replace('#xa{3}x#', '!', $str);
?>
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'xx xax xaax !'
Օրինակ
Այս օրինակում որոնման կաղապարն ունի հետևյալ տեսքը.
'a' տառ տասը անգամ:
<?php
$str = 'aaa aaaaaaaaaa aaa';
$res = preg_replace('#a{10}#', '!', $str);
?>
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'aaa ! aaa'
Օրինակ
Այս օրինակում կոդի հեղինակը ցանկանում էր այսպիսի կաղապար.
'x' տառ, 'a' տառ երեք
անգամ և ավելի քիչ, 'x' տառ,
բայց, դժբախտաբար, սա - {,3} - չի
աշխատում: Պետք է բացահայտ նշել.
<?php
$str = 'xx xax xaax xaaax';
$res = preg_replace('#xa{1,3}x#', '!', $str);
?>
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'xx ! ! !'
Օրինակ
Զրոն նույնպես թույլատրելի է.
<?php
$str = 'xx xax xaax xaaax';
$res = preg_replace('#xa{0,3}x#', '!', $str);
?>
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'! ! ! !'
Գործնական առաջադրանքներ
Տրված է տող.
<?php
$str = 'aa aba abba abbba abbbba abbbbba';
?>
Գրեք կանոնավոր արտահայտություն, որը կգտնի
'abba', 'abbba', 'abbbba'
տողերը և միայն դրանք:
Տրված է տող.
<?php
$str = 'aa aba abba abbba abbbba abbbbba';
?>
Գրեք կանոնավոր արտահայտություն, որը կգտնի
'aba' տեսքի տողեր, որոնցում 'b' տառը հանդիպում է
երեք անգամից քիչ (ներառյալ):
Տրված է տող.
<?php
$str = 'aa aba abba abbba abbbba abbbbba';
?>
Գրեք կանոնավոր արտահայտություն, որը կգտնի
'aba' տեսքի տողեր, որոնցում 'b' տառը հանդիպում է
չորս անգամից ավելի (ներառյալ):