Dấu ngoặc nhóm trong biểu thức chính quy JavaScript

Trong các ví dụ trước, các toán tử lặp chỉ tác động lên một ký tự duy nhất đứng trước chúng. Phải làm sao nếu chúng ta muốn chúng tác động lên nhiều ký tự?

Để làm điều này, có các dấu ngoặc nhóm '(' và ')'. Chúng hoạt động như sau: nếu một thứ gì đó nằm trong dấu ngoặc nhóm và ngay sau ')' là một toán tử lặp - nó sẽ tác động lên tất cả những gì bên trong dấu ngoặc.

Hãy xem qua các ví dụ.

Ví dụ

Trong ví dụ sau, mẫu tìm kiếm trông như thế này: chữ cái 'x', tiếp theo là chuỗi 'ab' một lần hoặc nhiều lần, sau đó là chữ cái 'x':

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

Kết quả, biến sẽ ghi lại giá trị sau:

javascript'! ! xaabbx'

Bài tập thực hành

Задание 1

Cho một chuỗi:

javascriptlet str = 'ab abab abab abababab abea';

Viết biểu thức chính quy, tìm các chuỗi theo mẫu: chuỗi 'ab' lặp lại 1 lần hoặc nhiều hơn.