Đối sánh chuỗi Javascript ()

Phương thức JavaScript String match () trả về kết quả của việc so khớp một chuỗi với một biểu thức chính quy.

Cú pháp của match()phương thức là:

 str.match(regexp)

Ở đây, str là một chuỗi.

match () Tham số

Các match()phương pháp có trong:

  • regexp - Một đối tượng biểu thức chính quy (Đối số được chuyển đổi hoàn toàn thành RegExpnếu nó không phải là RegExpđối tượng)

Lưu ý: Nếu bạn không đưa ra bất kỳ tham số nào, hãy match()trả về ("").

Giá trị trả về từ khớp ()

  • Trả về một Arraychứa các kết quả phù hợp, một mục cho mỗi trận đấu.
  • Trả về nullnếu không tìm thấy kết quả phù hợp.

Ví dụ 1: Sử dụng match ()

 const string = "I am learning JavaScript not Java."; const re = /Java/; let result = string.match(re); console.log("Result of matching /Java/ :"); console.log(result); const re1 = /Java/g; let result1 = string.match(re1); console.log("Result of matching /Java/ with g flag:") console.log(result1);

Đầu ra

 Kết quả đối sánh / Java /: ('Java', chỉ mục: 14, đầu vào: 'Tôi đang học JavaScript không phải Java.', Groups: undefined) Kết quả khớp / Java / với cờ g: ('Java', 'Java' )

Ở đây, chúng ta có thể thấy rằng không sử dụng gcờ, kết quả là chúng ta chỉ nhận được kết quả phù hợp đầu tiên nhưng với thông tin chi tiết như chỉ mục, đầu vào và nhóm.

Lưu ý : Nếu biểu thức chính quy không bao gồm gcờ, str.match()sẽ chỉ trả về kết quả phù hợp đầu tiên tương tự như RegExp.exec(). Mặt hàng trả lại cũng sẽ có các thuộc tính bổ sung sau:

  • groups - Một đối tượng của các nhóm bắt được đặt tên có các khóa là tên và giá trị như các đối tượng đã bắt được khớp.
  • index - Chỉ mục tìm kiếm nơi kết quả được tìm thấy.
  • input - Bản sao của chuỗi tìm kiếm.

Ví dụ 2: Đối sánh các phần trong chuỗi

 const string = "My name is Albert. YOUR NAME is Soyuj."; // expression matches case-insensitive "name is"+ any alphabets till period (.) const re = /namesiss(a-zA-Z)+./gi; let result = string.match(re); console.log(result); // ( 'name is Albert.', 'NAME is Soyuj.' ) // using named capturing groups const re1 = /namesiss(?(a-zA-Z)+)./i; let found = string.match(re1); console.log(found.groups); // (name: "Albert")

Đầu ra

 ('tên là Albert.', 'TÊN là Soyuj.') (tên: "Albert")

Ở đây, chúng tôi đã sử dụng một biểu thức chính quy để khớp với một phần nhất định của chuỗi. Chúng ta cũng có thể nắm bắt một số nhóm nhất định trong trận đấu bằng cách sử dụng cú pháp như hình trên.

Đề xuất Đọc: JavaScript String matchAll ()

thú vị bài viết...