Նիշերի կրկնման օպերատորներ
Լինում են իրավիճակներ, երբ մենք ցանկանում ենք նշել,
որ նիշը կրկնվում է տրված քանակով:
Եթե մենք գիտենք կրկնությունների ճշգրիտ թիվը,
ապա կարող ենք պարզապես գրել այն մի քանի անգամ
- #aaaa#: Բայց ի՞նչ անել, եթե մենք ցանկանում ենք
ասել այսպես. կրկնել մեկ կամ ավելի անգամ:
Դրա համար գոյություն ունեն կրկնության (քվանտիֆիկատորներ)
օպերատորներ. գումարած + (մեկ կամ ավելի անգամ),
աստղանիշ * (զրո կամ ավելի անգամ) և
հարցական ? (զրո կամ մեկ անգամ): Այս
օպերատորները գործում են այն նիշի վրա, որը
գտնվում է դրանց առջև:
Եկեք նայենք այս օպերատորների աշխատանքին օրինակներով:
Օրինակ
Գտնենք բոլոր ենթատողերը ըստ տառ
'x', տառ 'a' մեկ կամ ավելի
անգամ, տառ 'x' օրինակի.
<?php
$str = 'xx xax xaax xaaax xbx';
$res = preg_replace('#xa+x#', '!', $str);
?>
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'xx ! ! ! xbx'
Օրինակ
Գտնենք բոլոր ենթատողերը ըստ տառ
'x', տառ 'a' զրո կամ ավելի
անգամ, տառ 'x' օրինակի.
<?php
$str = 'xx xax xaax xaaax xbx';
$res = preg_replace('#xa*x#', '!', $str);
?>
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'! ! ! ! xbx'
Օրինակ
Գտնենք բոլոր ենթատողերը ըստ տառ
'x', տառ 'a' զրո կամ մեկ
անգամ, տառ 'x' օրինակի.
<?php
$str = 'xx xax xaax xbx';
$res = preg_replace('#xa?x#', '!', $str);
?>
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'! ! xaax xbx'
Գործնական առաջադրանքներ
Տրված է տող.
<?php
$str = 'aa aba abba abbba abca abea';
?>
Գրեք ռեգուլյար արտահայտություն, որը կգտնի տողերը
ըստ օրինակի. տառ 'a', տառ 'b'
մեկ կամ ավելի անգամ, տառ 'a':
Տրված է տող.
<?php
$str = 'aa aba abba abbba abca abea';
?>
Գրեք ռեգուլյար արտահայտություն, որը կգտնի տողերը
ըստ օրինակի. տառ 'a', տառ 'b'
զրո կամ ավելի անգամ, տառ 'a':
Տրված է տող.
<?php
$str = 'aa aba abba abbba abca abea';
?>
Գրեք ռեգուլյար արտահայտություն, որը կգտնի տողերը
ըստ օրինակի. տառ 'a', տառ 'b'
մեկ անգամ կամ ոչ մեկը, տառ 'a':
Տրված է տող.
<?php
$str = 'aa aba abba abbba abca abea';
?>
Գրեք ռեգուլյար արտահայտություն, որը կգտնի տողերը
'aa', 'aba', 'abba',
'abbba', առանց բռնելու 'abca'
և 'abea':