Biểu thức chính quy JavaScript

Biểu thức chính quy là chuỗi ký tự cấu thành

Mẫu tìm kiếm này có thể được sử dụng cho các hoạt động tìm kiếm văn bản và thay thế văn bản.

Gì là biểu thức chính quy?

Biểu thức chính quy là thành phần củaMẫu tìm kiếm (search pattern)chuỗi ký tự.

Khi bạn tìm kiếm dữ liệu trong văn bản, bạn có thể sử dụng mẫu tìm kiếm để mô tả nội dung bạn tìm kiếm.

Biểu thức chính quy có thể là ký tự đơn, hoặc mẫu phức tạp hơn.

Biểu thức chính quy có thể được sử dụng để thực hiện tất cả các loạiTìm kiếm văn bảnThay thế văn bảnhoạt động.

cú pháp

/pattern/modifiers;

Ví dụ

var patt = /codew3c/i;

Ví dụ giải thích:

/codew3c/i là biểu thức chính quy.

codew3c là mẫu (pattern) (sử dụng trong tìm kiếm).

Chỉnh sửa là điều chỉnh (thay đổi tìm kiếm thành không phân biệt dấu in).

Sử dụng phương thức chuỗi

Trong JavaScript, biểu thức chính quy thường được sử dụng trong haiPhương thức chuỗisearch()Sử dụng phương thức replace() của chuỗi để xử lý chuỗi.

search() Phương thức sử dụng biểu thức để tìm kiếm khớp, sau đó trả về vị trí khớp.

Sử dụng phương thức replace() của chuỗi để xử lý chuỗi Phương thức trả về chuỗi đã được thay thế vị trí của mẫu.

Sử dụng phương thức search() của chuỗi để xử lý chuỗi

search() Phương thức cũng chấp nhận chuỗi như tham số tìm kiếm. Tham số chuỗi sẽ được chuyển đổi thành biểu thức chính quy:

Ví dụ

Sử dụng chuỗi để thực hiện tìm kiếm đối với "W3school":

var str = "Visit CodeW3C.com!";
var n = str.search("W3School"); 

Thử nghiệm trực tiếp

Sử dụng biểu thức chính quy trong phương thức search() của chuỗi

Ví dụ

Thực hiện tìm kiếm không phân biệt dấu in của chuỗi "codew3c" trong chuỗi tìm kiếm bằng biểu thức chính quy:

var str = "Visit CodeW3C.com";
var str = "Visit CodeW3C.com"; 

var n = str.search(/codew3c/i);

Kết quả của n sẽ là:

Thử nghiệm trực tiếp

6

Sử dụng phương thức replace() của chuỗi để xử lý chuỗi replace()

Sử dụng biểu thức chính quy không phân biệt chữ hoa và chữ thường để thay thế Microsoft bằng W3school trong chuỗi:
Cũng chấp nhận chuỗi làm tham số tìm kiếm: 

Thử nghiệm trực tiếp

var res = str.replace("Microsoft", "W3School");

Ví dụ

Sử dụng biểu thức chính quy trong phương thức replace() của chuỗi

Sử dụng biểu thức chính quy không phân biệt chữ hoa và chữ thường để thay thế Microsoft bằng W3school trong chuỗi:
var str = "Visit Microsoft!"; 

var res = str.replace(/microsoft/i, "W3School");

Kết quả của res sẽ là:

Thử nghiệm trực tiếp

Visit CodeW3C.com!

Bạn có nhận ra không?

Tham số biểu thức chính quy (thay vì tham số chuỗi) có thể được sử dụng trong các phương pháp trên.

Biểu thức chính quy có thể làm mạnh mẽ hơn việc tìm kiếm của bạn (ví dụ: không phân biệt chữ hoa và chữ thường).

Có thể sử dụng để tìm kiếm toàn cục hơn không phân biệt chữ hoa và chữ thường:Chỉnh sửa biểu thức chính quy

Có thể sử dụng để tìm kiếm toàn cục hơn không phân biệt chữ hoa và chữ thường: Mô tả Thử một chút
Chỉnh sửa Thực hiện khớp không phân biệt chữ hoa và chữ thường. Thử một chút
g Thực hiện khớp toàn cục (tìm kiếm tất cả các khớp thay vì dừng lại sau khi tìm thấy khớp đầu tiên). Thử một chút
m Thực hiện khớp nhiều dòng. Thử một chút

Mẫu biểu thức chính quy

Cặp ngoặcDùng để tìm kiếm chuỗi trong một phạm vi nhất định:

Biểu thức Mô tả Thử một chút
[abc] Tìm kiếm bất kỳ ký tự nào trong dấu ngoặc vuông. Thử một chút
[0-9] Tìm kiếm bất kỳ số từ 0 đến 9 nào. Thử một chút
(x|y) Tìm kiếm bất kỳ tùy chọn nào được phân隔 bởi |. Thử một chút

Ký tự đặc biệt (Metacharacter)Là ký tự có ý nghĩa đặc biệt:

Ký tự đặc biệt Mô tả Thử một chút
\d Tìm kiếm số. Thử một chút
\s Tìm kiếm ký tự trắng. Thử một chút
\b Khớp với ranh giới từ. Thử một chút
\uxxxx Tìm kiếm ký tự Unicode được quy định bởi số hex xxxx. Thử một chút

Định lượng Định nghĩa định lượng:

Định lượng Mô tả Thử một chút
n+ Khớp với bất kỳ chuỗi nào chứa ít nhất một n. Thử một chút
n* Khớp với bất kỳ chuỗi nào chứa không hoặc nhiều n. Thử một chút
n? Khớp với bất kỳ chuỗi nào chứa không hoặc một n. Thử một chút

Sử dụng đối tượng RegExp

Trong JavaScript, đối tượng RegExp là đối tượng biểu thức chính quy với các thuộc tính và phương pháp được định trước.

Sử dụng test()

test() Là phương pháp biểu thức chính quy.

Nó tìm kiếm chuỗi thông qua mẫu và sau đó trả về true hoặc false dựa trên kết quả.

Dưới đây là ví dụ tìm kiếm ký tự "e" trong chuỗi:

Ví dụ

var patt = /e/;
patt.test("The best things in life are free!"); 

Do có một "e" trong chuỗi nên kết quả đầu ra của đoạn mã trên sẽ là:

true

Thử nghiệm trực tiếp

Bạn không cần phải đặt biểu thức chính quy vào biến trước. Hai dòng trên có thể rút gọn thành một dòng:

/e/.test("The best things in life are free!");

Sử dụng exec()

exec() Phương thức là phương thức biểu thức chính quy.

Nó tìm kiếm chuỗi theo mẫu đã chỉ định và trả về văn bản đã tìm thấy.

Nếu không tìm thấy khớp, sẽ trả về null.

Dưới đây là ví dụ tìm kiếm ký tự "e" trong chuỗi:

Ví dụ

/e/.exec("The best things in life are free!");

Do có một "e" trong chuỗi nên kết quả đầu ra của đoạn mã trên sẽ là:

e

Thử nghiệm trực tiếp

Tài liệu tham khảo đầy đủ RegExp

Để có tài liệu tham khảo đầy đủ, hãy truy cập trang web của chúng tôi đầy đủ Tài liệu tham khảo JavaScript RegExp.

Tài liệu tham khảo này chứa mô tả và ví dụ về tất cả các thuộc tính và phương thức RegExp.