Sümbolikomplektide inverteerimine regulaaravaldistes

Kandiliste sulgude alguses oleva katusmärgi ^ abil saab soovitud vastupidiseks pöörata. See tähendab, et kui näiteks käsk [ab] otsib tähte 'a' või 'b', siis käsk [^ab] otsib kõiki sümboleid peale 'a' ja 'b'.

Näide

Selles näites näeb otsimismust välja järgmine: täht 'x', seejärel MITTE täht 'a', mitte 'b' ega 'c', seejärel täht 'z':

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

Tulemusena kirjutatakse muutujasse järgmine:

php'xaz xbz xcz !'

Näide

Selles näites näeb otsimismust välja järgmine: täht 'x', seejärel MITTE väike ladina täht, seejärel täht 'z':

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

Tulemusena kirjutatakse muutujasse järgmine:

php'xaz xbz ! !'

Praktilised ülesanded

Задание 1

Kirjutage regulaaravaldis, mis leiab stringid vastavalt mustrile: number '1', seejärel sümbol mitte 'e' ega 'x', number '2'.

Задание 2

Kirjutage regulaaravaldis, mis leiab stringid vastavalt mustrile: täht 'x', seejärel MITTE number vahemikust 2 kuni 7, täht 'z'.

Задание 3

Kirjutage regulaaravaldis, mis leiab stringid vastavalt mustrile: täht 'x', seejärel MITTE suur ladina täht 1 või rohkem korda, täht 'z'.

Задание 4

Kirjutage regulaaravaldis, mis leiab stringid vastavalt mustrile: täht 'x', seejärel mitte suur ega väike ladina täht ega number vahemikust 1 kuni 5 1 või rohkem korda, täht 'z'.