Ομαδοποιητικές παρενθέσεις στις κανονικές εκφράσεις της PHP
Στα προηγούμενα παραδείγματα, οι τελεστές επανάληψης δρούσαν μόνο σε έναν χαρακτήρα, ο οποίος βρισκόταν μπροστά τους. Τι πρέπει να κάνουμε, αν θέλουμε να δράσουν σε πολλούς χαρακτήρες;
Για αυτό υπάρχουν οι ομαδοποιητικές παρενθέσεις
'(' και ')'. Λειτουργούν ως εξής:
αν κάτι βρίσκεται μέσα σε ομαδοποιητικές παρενθέσεις
και αμέσως μετά την ')' υπάρχει τελεστής επανάληψης
- θα δράσει σε ό,τι βρίσκεται μέσα στις παρενθέσεις.
Στο επόμενο παράδειγμα, το μοτίβο αναζήτησης φαίνεται
έτσι: γράμμα 'x', στη συνέχεια η συμβολοσειρά 'ab'
μία ή περισσότερες φορές, μετά γράμμα 'x':
<?php
$str = 'xabx xababx xaabbx';
$res = preg_replace('#x(ab)+x#', '!', $str);
?>
Ως αποτέλεσμα, στη μεταβλητή θα καταγραφεί το εξής:
'! ! xaabbx'
Δίνεται συμβολοσειρά:
<?php
$str = 'ab abab abab abababab abea';
?>
Γράψτε μια κανονική έκφραση, που θα βρει συμβολοσειρές
σύμφωνα με το μοτίβο: η συμβολοσειρά 'ab' επαναλαμβάνεται
1 ή περισσότερες φορές.