Նիշերի բազմությունների ինվերսում կանոնավոր արտահայտություններում
Քառակուսի փակագծերի սկզբում գտնվող ^ նշանի միջոցով կարելի է ինվերսել ցանկալին։ Այսինքն,
եթե, օրինակ, [ab] հրամանը փնտրում է
'a' կամ 'b' տառը, ապա [^ab] հրամանը
կփնտրի բոլոր նիշերը, բացառությամբ
'a' և 'b'։
Օրինակ
Այս օրինակում որոնման ձևանմուշն ունի հետևյալ տեսքը.
'x' տառը, ապա ոչ 'a' տառը,
ոչ 'b' և ոչ 'c', ապա 'z' տառը.
<?php
$str = 'xaz xbz xcz xez';
$res = preg_replace('#x[^abc]z#', '!', $str);
?>
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'xaz xbz xcz !'
Օրինակ
Այս օրինակում որոնման ձևանմուշն ունի հետևյալ տեսքը.
'x' տառը, ապա ոչ փոքր լատինական
տառ, ապա 'z' տառը.
<?php
$str = 'xaz xbz x1z xCz';
$res = preg_replace('#x[^a-z]z#', '!', $str);
?>
Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.
'xaz xbz ! !'
Գործնական առաջադրանքներ
Գրեք կանոնավոր արտահայտություն, որը կգտնի տողերը
համաձայն ձևանմուշի. '1' թվանշանը, ապա ոչ
'e' և ոչ 'x' նիշը, ապա '2' թվանշանը.
Գրեք կանոնավոր արտահայտություն, որը կգտնի տողերը
համաձայն ձևանմուշի. 'x' տառը, ապա ոչ
2-ից 7 թվանշան, ապա 'z' տառը.
Գրեք կանոնավոր արտահայտություն, որը կգտնի տողերը
համաձայն ձևանմուշի. 'x' տառը, ապա ոչ
մեծ լատինական տառ 1 և ավելի անգամ,
ապա 'z' տառը.
Գրեք կանոնավոր արտահայտություն, որը կգտնի տողերը
համաձայն ձևանմուշի. 'x' տառը, ապա ոչ
մեծ և ոչ փոքր լատինական տառ և ոչ 1-ից 5 թվանշան
1 և ավելի անգամ, ապա 'z' տառը.