RegExp.prototype.exec()

Phương thức exec() của RegExp.prototype được thiết kế đặc biệt cho việc tìm kiếm và trích xuất các nhóm trong một chuỗi đã cho. Phương thức này trả về một mảng chứa thông tin về các kết quả tìm kiếm, và trả về null nếu không tìm thấy kết quả.

Cú pháp

RegExp.prototype.exec(str);

Tham số

Tham sốMô tảKiểu dữ liệu
regExpObjectBiểu thức chính quy để tìm kiếm.regexp
strChuỗi đã cho. Sẽ thực hiện tìm kiếm trong chuỗi này.string

Giá trị trả về

  • Nếu tìm thấy kết quả, phương thức exec() trả về một mảng và cập nhật các thuộc tính của đối tượng biểu thức chính quy. Mảng trả về chứa chuỗi khớp hoàn toàn với mẫu tìm kiếm ở vị trí đầu tiên, và các chuỗi khớp với các nhóm trong ngoặc đơn sẽ được điền vào các phần tử tiếp theo của mảng.
  • Nếu không tìm thấy kết quả, phương thức exec() trả về null.

Mảng trả về bao gồm hai thuộc tính bổ sung.

Thuộc tínhMô tả
indexVị trí của kết quả tìm kiếm trong chuỗi
inputChuỗi được áp dụng biểu thức chính quy

Giá trị trả về của phương thức exec() là một mảng, nếu tìm thấy kết quả khớp, mảng sẽ chứa các thành viên như sau:

  • Chỉ số 0: Lưu trữ chuỗi con khớp đầu tiên
  • Thuộc tính index: Vị trí bắt đầu của văn bản khớp trong chuỗi
  • Thuộc tính input: Đối tượng chuỗi đầy đủ (stringObject)

Trong IE 6 ~ IE 8, mảng này còn có thuộc tính lastIndex bổ sung, được sử dụng để lưu trữ vị trí ký tự tiếp theo của văn bản khớp cuối cùng trong chuỗi.

Ví dụ

// Khớp "quick brown" theo sau bởi "jumps", bỏ qua các ký tự ở giữa
// Ghi nhớ "brown" và "jumps"
// Không phân biệt chữ hoa chữ thường
let result = regexp.exec('The Quick Brown Fox Jumps Over The Lazy Dog');
let regexp = /quick\s(brown).+?(jumps)/gi;

Bảng dưới đây liệt kê kết quả trả về của đoạn mã này:

Đối tượng Result

Thuộc tính/Chỉ sốMô tảVí dụ
[0]Chuỗi khớp hoàn toàn'Quick Brown Fox Jumps'
[1],…,[n]Các nhóm được ghi nhớ trong ngoặc đơn[1] = Brown [2] = Jumps
indexVị trí của kết quả khớp trong chuỗi (dựa trên 0)4
inputChuỗi gốc'The Quick Brown Fox Jumps Over The Lazy Dog'

Đối tượng RegExp

Thuộc tính/Chỉ sốMô tảVí dụ
lastIndexVị trí bắt đầu tìm kiếm kế tiếp25
ignoreCaseCó sử dụng cờ ‘i’ để bỏ qua phân biệt chữ hoa chữ thường trong biểu thức chính quy hay khôngtrue
globalCó sử dụng cờ ‘g’ để tìm kiếm toàn bộ chuỗi hay khôngtrue
multilineCó sử dụng cờ ‘m’ để tìm kiếm đa dòng (nghĩa là, ^ và $ khớp với đầu và cuối mỗi dòng trong chuỗi (dòng được phân tách bằng \n hoặc \r), không chỉ ở đầu và cuối chuỗi đầu vào)false
sourceChuỗi biểu thức chính quyquick\s(brown).+?(jumps)