Phương thức exec

Phương thức exec thực hiện tìm kiếm trong chuỗi theo biểu thức chính quy đã cho. Kết quả trả về là chuỗi con được tìm thấy và các nhóm bắt giữ (capture groups) của nó. Mỗi lần gọi tiếp theo của phương thức này sẽ bắt đầu tìm kiếm từ vị trí mà chuỗi con được tìm thấy trước đó kết thúc. Nếu không tìm thấy kết quả khớp - nó trả về null.

Cú pháp

javascriptregular_expression.test(string);

Ví dụ

Hãy kiểm tra hoạt động của phương thức:

javascriptlet str = '12 34 56';
let reg = /\d+/g;

let res1 = reg.exec(str);
console.log(res1);

let res2 = reg.exec(str);
console.log(res2);

let res3 = reg.exec(str);
console.log(res3);

let res4 = reg.exec(str);
console.log(res4);

Kết quả thực thi mã:

javascript[12]
[34]
[56]
null

Ví dụ

Sử dụng phương thức trong vòng lặp:

javascriptlet str = '12 34 56';
let reg = /\d+/g;

let res;
while (res = reg.exec(str)) {
  console.log(res);
}

Kết quả thực thi mã:

javascript[12]
[34]
[56] 

Ví dụ

Các kết quả khớp tìm thấy có thể được phân tách theo các nhóm bắt giữ (capture groups):

javascriptlet str = '12 34 56';
let reg = /(\d)(\d)/g;

let res;
while (res = reg.exec(str)) {
  console.log(res);
}

Kết quả thực thi mã:

javascript[12, 1, 2]
[34, 3, 4]
[56, 5, 6] 

Ví dụ

Với thuộc tính lastIndex bạn có thể đặt vị trí mà từ đó bắt đầu tìm kiếm:

javascriptlet str = '12 34 56';

let reg = /\d+/g;
reg.lastIndex = 2;

let res1 = reg.exec(str)
console.log(res1);

let res2 = reg.exec(str)
console.log(res2);

Kết quả thực thi mã:

javascript[34]
[56]

Ví dụ

Với cờ y bạn có thể cố định vị trí bắt đầu tìm kiếm:

javascriptlet str = '12 34 56';

let reg = /\d+/y;
reg.lastIndex = 2;

let res1 = reg.exec(str)
console.log(res1);

let res2 = reg.exec(str)
console.log(res2);

Kết quả thực thi mã:

javascriptnull
[12]

Xem thêm

  • phương thức test,
    kiểm tra chuỗi
  • phương thức match,
    tìm kiếm các kết quả khớp trong chuỗi
  • phương thức matchAll,
    tìm tất cả các kết quả khớp trong chuỗi
  • phương thức replace,
    thực hiện tìm kiếm và thay thế
  • phương thức search,
    thực hiện tìm kiếm
  • phương thức split,
    tách chuỗi