Инвертирање скупова знакова у регуларним изразима
Уз помоћ карета ^ на почетку угластих
заграда можете инвертирати жељено. То јест,
ако, на пример, команда [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'.