Інвертаванне набораў сімвалаў у рэгулярках
З дапамогай шапачкі ^ у пачатку квадратных
дужак можна інвертаваць жаданае. Гэта значыць,
калі, напрыклад, каманда [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'.