Նիշերի բազմությունների ինվերսում կանոնավոր արտահայտություններում

Քառակուսի փակագծերի սկզբում գտնվող ^ նշանի միջոցով կարելի է ինվերսել ցանկալին։ Այսինքն, եթե, օրինակ, [ab] հրամանը փնտրում է 'a' կամ 'b' տառը, ապա [^ab] հրամանը կփնտրի բոլոր նիշերը, բացառությամբ 'a' և 'b'։

Օրինակ

Այս օրինակում որոնման ձևանմուշն ունի հետևյալ տեսքը. 'x' տառը, ապա ոչ 'a' տառը, ոչ 'b' և ոչ 'c', ապա 'z' տառը.

php<?php
  $str = 'xaz xbz xcz xez';
  $res = preg_replace('#x[^abc]z#', '!', $str);
?>

Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.

php'xaz xbz xcz !'

Օրինակ

Այս օրինակում որոնման ձևանմուշն ունի հետևյալ տեսքը. 'x' տառը, ապա ոչ փոքր լատինական տառ, ապա 'z' տառը.

php<?php
  $str = 'xaz xbz x1z xCz';
  $res = preg_replace('#x[^a-z]z#', '!', $str);
?>

Արդյունքում փոփոխականի մեջ կգրվի հետևյալը.

php'xaz xbz ! !'

Գործնական առաջադրանքներ

Задание 1

Գրեք կանոնավոր արտահայտություն, որը կգտնի տողերը համաձայն ձևանմուշի. '1' թվանշանը, ապա ոչ 'e' և ոչ 'x' նիշը, ապա '2' թվանշանը.

Задание 2

Գրեք կանոնավոր արտահայտություն, որը կգտնի տողերը համաձայն ձևանմուշի. 'x' տառը, ապա ոչ 2-ից 7 թվանշան, ապա 'z' տառը.

Задание 3

Գրեք կանոնավոր արտահայտություն, որը կգտնի տողերը համաձայն ձևանմուշի. 'x' տառը, ապա ոչ մեծ լատինական տառ 1 և ավելի անգամ, ապա 'z' տառը.

Задание 4

Գրեք կանոնավոր արտահայտություն, որը կգտնի տողերը համաձայն ձևանմուշի. 'x' տառը, ապա ոչ մեծ և ոչ փոքր լատինական տառ և ոչ 1-ից 5 թվանշան 1 և ավելի անգամ, ապա 'z' տառը.