Biểu thức chính quy JavaScript
Biểu thức chính quy là một chuỗi các ký tự tạo thành mẫu tìm kiếm.
Mẫu tìm kiếm 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.
Biểu thức chính quy là gì?
Biểu thức chính quy là một chuỗi các ký tự tạo thành mẫu tìm kiếm .
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 này để mô tả những gì bạn đang tìm kiếm.
Biểu thức chính quy có thể là một ký tự đơn hoặc một 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ại hoạt động tìm kiếm văn bản và thay thế văn bản .
Cú pháp
/ pattern / modifiers ;
Ví dụ
/w3schools/i;
Ví dụ giải thích:
/w3schools/i là một biểu thức chính quy.
w3schools là một mẫu (được sử dụng trong tìm kiếm).
i là một công cụ sửa đổi (sửa đổi tìm kiếm thành không phân biệt chữ hoa chữ thường).
Sử dụng phương thức chuỗi
Trong JavaScript, các biểu thức chính quy thường được sử dụng với hai phương thức chuỗi : search()
và replace()
.
Phương thức search()
sử dụng một biểu thức để tìm kiếm kết quả khớp và trả về vị trí của kết quả khớp.
Phương thức replace()
trả về một chuỗi đã sửa đổi trong đó mẫu được thay thế.
Sử dụng tìm kiếm chuỗi() với một chuỗi
Phương thức search()
tìm kiếm một chuỗi cho một giá trị được chỉ định và trả về vị trí của kết quả khớp:
Ví dụ
Sử dụng chuỗi để thực hiện tìm kiếm "W3schools" trong chuỗi:
let text = "Visit W3Schools!";
let n = text.search("W3Schools");
Kết quả trong n sẽ là:
6
Sử dụng tìm kiếm chuỗi() với biểu thức chính quy
Ví dụ
Sử dụng biểu thức chính quy để thực hiện tìm kiếm không phân biệt chữ hoa chữ thường cho "w3schools" trong một chuỗi:
let text = "Visit W3Schools";
let n = text.search(/w3schools/i);
Kết quả trong n sẽ là:
6
Sử dụng Chuỗi thay thế() bằng Chuỗi
Phương thức replace()
thay thế một giá trị được chỉ định bằng một giá trị khác trong chuỗi:
let text = "Visit Microsoft!";
let result = text.replace("Microsoft", "W3Schools");
Hãy tự mình thử »Sử dụng String thay thế() với biểu thức chính quy
Ví dụ
Sử dụng biểu thức chính quy không phân biệt chữ hoa chữ thường để thay thế Microsoft bằng Example.com.vn trong một chuỗi:
let text = "Visit Microsoft!";
let result = text.replace(/microsoft/i, "W3Schools");
Kết quả trong res sẽ là:
Visit W3Schools!
Bạn có để ý không?
Các đối số biểu thức chính quy (thay vì đối số chuỗi) có thể được sử dụng trong các phương thức trên.
Cụm từ thông dụng có thể làm cho tìm kiếm của bạn mạnh mẽ hơn nhiều (ví dụ: không phân biệt chữ hoa chữ thường).
Công cụ sửa đổi biểu thức chính quy
Công cụ sửa đổi có thể được sử dụng để thực hiện các tìm kiếm tổng thể không phân biệt chữ hoa chữ thường:
Modifier | Description | Try it |
---|---|---|
i | Perform case-insensitive matching | Try it » |
g | Perform a global match (find all) | Try it » |
m | Perform multiline matching | Try it » |
d | Perform start and end matching (New in ES2022 ) | Try it » |
Mẫu biểu thức chính quy
Dấu ngoặc được sử dụng để tìm một loạt các ký tự:
Expression | Description | Try it |
---|---|---|
[abc] | Find any of the characters between the brackets | Try it » |
[0-9] | Find any of the digits between the brackets | Try it » |
(x|y) | Find any of the alternatives separated with | | Try it » |
Siêu ký tự là những ký tự có ý nghĩa đặc biệt:
Metacharacter | Description | Try it |
---|---|---|
\d | Find a digit | Try it » |
\s | Find a whitespace character | Try it » |
\b | Find a match at the beginning of a word like this: \bWORD, or at the end of a word like this: WORD\b |
Try it »
Try it » |
\uxxxx | Find the Unicode character specified by the hexadecimal number xxxx | Try it » |
Bộ định lượng xác định số lượng:
Quantifier | Description | Try it |
---|---|---|
n+ | Matches any string that contains at least one n | Try it » |
n* | Matches any string that contains zero or more occurrences of n | Try it » |
n? | Matches any string that contains zero or one occurrences of n | Try it » |
Sử dụng đối tượng RegExp
Trong JavaScript, đối tượng RegExp là một đối tượng biểu thức chính quy với các thuộc tính và phương thức được xác định trước.
Sử dụng thử nghiệm()
Phương thức test()
là một phương thức biểu thức RegExp.
Nó tìm kiếm một chuỗi theo mẫu và trả về đúng hoặc sai, tùy thuộc vào kết quả.
Ví dụ sau đây tìm kiếm một chuỗi cho ký tự "e":
Ví dụ
const pattern = /e/;
pattern.test("The best things in life are free!");
Vì có chữ "e" trong chuỗi nên đầu ra của đoạn mã trên sẽ là:
true
Bạn không cần phải đặt biểu thức chính quy vào một biến trước tiên. Hai dòng trên có thể được rút ngắn thành một:
/e/.test("The best things in life are free!");
Sử dụng exec()
Phương thức exec()
là một phương thức biểu thức RegExp.
Nó tìm kiếm một chuỗi theo mẫu đã chỉ định và trả về văn bản tìm thấy dưới dạng đối tượng.
Nếu không tìm thấy kết quả khớp, nó sẽ trả về một đối tượng trống (null) .
Ví dụ sau đây tìm kiếm một chuỗi cho ký tự "e":
Hoàn thành tham chiếu RegExp
Để có tài liệu tham khảo đầy đủ, hãy truy cập Tài liệu tham khảo RegExp JavaScript hoàn chỉnh của chúng tôi.
Tài liệu tham khảo chứa các mô tả và ví dụ về tất cả các thuộc tính và phương thức RegExp.