Các nhóm bắt trong phương thức match của biểu thức chính quy JavaScript
Như bạn đã biết, chuỗi con được tìm thấy thông qua phương thức match
sẽ nằm ở phần tử số 0 của mảng
kết quả. Vào các phần tử khác của mảng này
là cái gọi là các nhóm bắt.
Các nhóm bắt là một cách để chia nhỏ phần tìm được thành các phần riêng biệt. Để sử dụng chúng cần đặt một phần của biểu thức chính quy trong cặp dấu ngoặc tròn. Trong trường hợp này, trong mảng kết quả, ngoài chuỗi tìm thấy còn xuất hiện cả phần khớp với biểu thức chính quy nằm trong các dấu ngoặc đó.
Hãy thử thực hành. Giả sử chúng ta có một chuỗi thời gian như sau:
let str = '12:34';
Hãy đặt giờ và phút từ thời gian này vào các nhóm bắt riêng biệt:
let res = str.match(/(\d+):(\d+)/);
Hãy xem kết quả:
console.log(res[0]); // '12:34' - phần tìm thấy
console.log(res[1]); // '12' - nhóm bắt 1
console.log(res[2]); // '34' - nhóm bắt 2
Cho một chuỗi chứa tên miền:
let str = 'sss domain.ru zzz';
Tìm tên miền đó và đặt tên của nó vào nhóm bắt thứ nhất, còn phần zone (đuôi) - vào nhóm bắt thứ hai.
Cho một chuỗi chứa ngày tháng:
let str = '31.12.2025';
Hãy đặt ngày vào nhóm bắt thứ nhất, tháng - vào nhóm bắt thứ hai, còn năm - vào nhóm bắt thứ ba.