Ειδικοί χαρακτήρες μέσα σε αγκύλες στην PHP
Οι ειδικοί χαρακτήρες μέσα σε [] γίνονται συνηθισμένοι
χαρακτήρες. Αυτό σημαίνει ότι δεν χρειάζεται να γίνονται escape
με ανάστροφη πλάγια γραμμή.
Παράδειγμα
Σε αυτό το παράδειγμα, το μοτίβο αναζήτησης μοιάζει με αυτό:
ανάμεσα στα x οποιοσδήποτε χαρακτήρας 'a', 'b',
'c', ή τελεία:
<?php
$str = 'xax xbx xcx xdx x.x x@x';
$res = preg_replace('#x[abc.]x#', '!', $str);
?>
Ως αποτέλεσμα, στη μεταβλητή θα αποθηκευτεί το εξής:
'! ! ! xdx ! x@x'
Παράδειγμα
Σε αυτό το παράδειγμα, το μοτίβο αναζήτησης μοιάζει με αυτό: ανάμεσα στα x οποιοδήποτε πεζό λατινικό γράμμα ή τελεία:
<?php
$str = 'xax xbx xcx x@x';
$res = preg_replace('#x[a-z.]x#', '!', $str);
?>
Ως αποτέλεσμα, στη μεταβλητή θα αποθηκευτεί το εξής:
'! ! ! x@x'
Πρακτικές ασκήσεις
Δίνεται η συμβολοσειρά:
<?php
$str = 'aba aea aca aza axa a.a a+a a*a';
?>
Γράψτε μια κανονική έκφραση που θα βρει τις συμβολοσειρές
'a.a', 'a+a', 'a*a',
χωρίς να επηρεάσει τις υπόλοιπες.
Δίνεται η συμβολοσειρά:
<?php
$str = 'xaz x.z x3z x@z x$z xrz';
?>
Γράψτε μια κανονική έκφραση που θα βρει τις συμβολοσειρές
σύμφωνα με το μοτίβο: ο χαρακτήρας 'x', μετά ΟΧΙ
τελεία, ΟΧι @, και ΟΧΙ σύμβολο δολαρίου, και μετά ο χαρακτήρας
'z'.