Ειδικοί χαρακτήρες μέσα σε αγκύλες στην PHP

Οι ειδικοί χαρακτήρες μέσα σε [] γίνονται συνηθισμένοι χαρακτήρες. Αυτό σημαίνει ότι δεν χρειάζεται να γίνονται escape με ανάστροφη πλάγια γραμμή.

Παράδειγμα

Σε αυτό το παράδειγμα, το μοτίβο αναζήτησης μοιάζει με αυτό: ανάμεσα στα x οποιοσδήποτε χαρακτήρας 'a', 'b', 'c', ή τελεία:

php<?php
  $str = 'xax xbx xcx xdx x.x x@x';
  $res = preg_replace('#x[abc.]x#', '!', $str);
?>

Ως αποτέλεσμα, στη μεταβλητή θα αποθηκευτεί το εξής:

php'! ! ! xdx ! x@x'

Παράδειγμα

Σε αυτό το παράδειγμα, το μοτίβο αναζήτησης μοιάζει με αυτό: ανάμεσα στα x οποιοδήποτε πεζό λατινικό γράμμα ή τελεία:

php<?php
  $str = 'xax xbx xcx x@x';
  $res = preg_replace('#x[a-z.]x#', '!', $str);
?>

Ως αποτέλεσμα, στη μεταβλητή θα αποθηκευτεί το εξής:

php'! ! ! x@x'

Πρακτικές ασκήσεις

Задание 1

Δίνεται η συμβολοσειρά:

php<?php
  $str = 'aba aea aca aza axa a.a a+a a*a';
?>

Γράψτε μια κανονική έκφραση που θα βρει τις συμβολοσειρές 'a.a', 'a+a', 'a*a', χωρίς να επηρεάσει τις υπόλοιπες.

Задание 2

Δίνεται η συμβολοσειρά:

php<?php
  $str = 'xaz x.z x3z x@z x$z xrz';
?>

Γράψτε μια κανονική έκφραση που θα βρει τις συμβολοσειρές σύμφωνα με το μοτίβο: ο χαρακτήρας 'x', μετά ΟΧΙ τελεία, ΟΧι @, και ΟΧΙ σύμβολο δολαρίου, και μετά ο χαρακτήρας 'z'.