Αναστροφή συνόλων χαρακτήρων σε regex

Χρησιμοποιώντας το καρέτ ^ στην αρχή των αγκύλων μπορείτε να αντιστρέψετε τον επιθυμητό στόχο. Δηλαδή, αν, για παράδειγμα, η εντολή [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'.