Ομαδοποιητικές παρενθέσεις στις κανονικές εκφράσεις της JavaScript

Στα προηγούμενα παραδείγματα, οι τελεστές επανάληψης δρούσαν μόνο σε έναν χαρακτήρα, ο οποίος βρισκόταν μπροστά τους. Τι πρέπει να κάνουμε, αν θέλουμε να δράσουμε σε πολλούς χαρακτήρες;

Για αυτό υπάρχουν οι ομαδοποιητικές παρενθέσεις '(' και ')'. Λειτουργούν ως εξής: αν κάτι βρίσκεται σε ομαδοποιητικές παρενθέσεις και αμέσως μετά την ')' βρίσκεται ένας τελεστής επανάληψης - θα δράσει σε ό,τι βρίσκεται μέσα στις παρενθέσεις.

Ας δούμε με παραδείγματα.

Παράδειγμα

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

javascriptlet str = 'xabx xababx xaabbx'
let res = str.replace(/x(ab)+x/g, '!');

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

javascript'! ! xaabbx'

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

Задание 1

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

javascriptlet str = 'ab abab abab abababab abea';

Γράψτε μια κανονική έκφραση που θα βρει συμβολοσειρές σύμφωνα με το μοτίβο: συμβολοσειρά 'ab' επαναλαμβάνεται 1 ή περισσότερες φορές.