Invertovanie množín znakov v regulárnych výrazoch

Pomocou striešky ^ na začiatku hranatých zátvoriek môžete invertovať požadované. To znamená, ak napríklad príkaz [ab] hľadá písmeno 'a' alebo 'b', potom príkaz [^ab] bude hľadať všetky znaky, okrem 'a' a 'b'.

Príklad

V tomto príklade vyhľadávací vzor vyzerá takto: písmeno 'x', potom NIE písmeno 'a', nie 'b' a nie 'c', potom písmeno 'z':

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

Výsledkom do premennej sa zapíše nasledovné:

php'xaz xbz xcz !'

Príklad

V tomto príklade vyhľadávací vzor vyzerá takto: písmeno 'x', potom NIE malé latinské písmeno, potom písmeno 'z':

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

Výsledkom do premennej sa zapíše nasledovné:

php'xaz xbz ! !'

Praktické úlohy

Задание 1

Napíšte regulárny výraz, ktorý nájde reťazce podľa vzoru: číslica '1', potom znak nie 'e' a nie 'x', číslica '2'.

Задание 2

Napíšte regulárny výraz, ktorý nájde reťazce podľa vzoru: písmeno 'x', potom NIE číslica od 2 do 7, písmeno 'z'.

Задание 3

Napíšte regulárny výraz, ktorý nájde reťazce podľa vzoru: písmeno 'x', potom NIE veľké latinské písmeno od 1 a viac krát, písmeno 'z'.

Задание 4

Napíšte regulárny výraz, ktorý nájde reťazce podľa vzoru: písmeno 'x', potom nie veľké a nie malé latinské písmeno a nie číslica od 1 do 5 od 1 a viac krát, písmeno 'z'.