Ομάδες χαρακτήρων μέσα σε αγκύλες PHP
Οι ομάδες χαρακτήρων \d, \D, \w,
\W, \s, \S μέσα σε []
θα συνεχίσουν να αναπαριστούν ομάδες, δηλαδή
θα παραμείνουν ως εντολές.
Παράδειγμα
Σε αυτό το παράδειγμα, το μοτίβο αναζήτησης μοιάζει με αυτό:
ανάμεσα στα x οποιοδήποτε ψηφίο, ή γράμμα από
'a' έως 'f':
<?php
$str = 'xax xbx x1x x2x xhx x@x';
$res = preg_replace('#x[\da-f]x#', '!', $str);
?>
Ως αποτέλεσμα, στη μεταβλητή θα καταγραφεί το ακόλουθο:
'! ! ! ! xhx x@x'
Παράδειγμα
Σε αυτό το παράδειγμα, το μοτίβο αναζήτησης μοιάζει με αυτό:
γράμμα 'x', στη συνέχεια όχι ψηφίο, όχι τελεία,
και όχι πεζό λατινικό γράμμα, στη συνέχεια γράμμα
'z':
<?php
$str = 'xaz x1z xAz x.z x@z';
$res = preg_replace('#x[^\d.a-z]z#', '!', $str);
?>
Ως αποτέλεσμα, στη μεταβλητή θα καταγραφεί το ακόλουθο:
'xaz x1z ! x.z !'
Πρακτικές ασκήσεις
Γράψτε μια κανονική έκφραση που θα βρει συμβολοσειρές
σύμφωνα με το μοτίβο: ψηφίο ή τελεία από 1
και περισσότερες φορές.
Γράψτε μια κανονική έκφραση που θα βρει συμβολοσειρές
σύμφωνα με το μοτίβο: όχι ψηφίο και όχι γράμμα από 'a'
έως 'g' από 3 έως 7 φορές.