Инвертирање на множества знаци во регуларни изрази

Со помош на каретката ^ на почетокот на квадратните загради може да се инвертира посакуваното. Односно, ако, на пример, командата [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'.