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