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':
let str = 'xabx xababx xaabbx'
let res = str.replace(/x(ab)+x/g, '!');
Kết quả, biến sẽ ghi lại giá trị sau:
'! ! xaabbx'
Bài tập thực hành
Cho một chuỗi:
let 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.