Biểu thức chính quy và Đối tượng RegExp
Biểu thức chính quy là một đối tượng mô tả một mẫu ký tự.
JavaScript RegExp lớp đại diện cho các biểu thức chính quy và cả Chuỗi và RegExp xác định các phương thức sử dụng biểu thức chính quy để thực hiện các chức năng so khớp mẫu và tìm kiếm và thay thế mạnh mẽ trên văn bản.
Cú pháp
Một biểu thức chính quy có thể được xác định với RegExp () hàm tạo, như sau:
var pattern = new RegExp(pattern, attributes);
or simply
var pattern = /pattern/attributes;
Đây là mô tả của các tham số -
pattern - Một chuỗi chỉ định mẫu của biểu thức chính quy hoặc một biểu thức chính quy khác.
attributes - Một chuỗi tùy chọn chứa bất kỳ thuộc tính "g", "i" và "m" nào chỉ định các đối sánh toàn cục, không phân biệt chữ hoa chữ thường và nhiều dòng, tương ứng.
Dấu ngoặc
Dấu ngoặc ([]) có ý nghĩa đặc biệt khi được sử dụng trong ngữ cảnh của cụm từ thông dụng. Chúng được sử dụng để tìm một loạt các ký tự.
Sr.No. | Biểu thức & Mô tả |
---|---|
1 | [...] Bất kỳ một ký tự nào giữa các dấu ngoặc. |
2 | [^...] Bất kỳ một ký tự nào không nằm giữa dấu ngoặc. |
3 | [0-9] Nó khớp với bất kỳ chữ số thập phân nào từ 0 đến 9. |
4 | [a-z] Nó khớp với bất kỳ ký tự nào từ chữ thường a thông qua chữ thường z. |
5 | [A-Z] Nó khớp với bất kỳ ký tự nào từ chữ hoa A thông qua chữ hoa Z. |
6 | [a-Z] Nó khớp với bất kỳ ký tự nào từ chữ thường a thông qua chữ hoa Z. |
Các phạm vi hiển thị ở trên là chung; bạn cũng có thể sử dụng phạm vi [0-3] để so khớp với bất kỳ chữ số thập phân nào từ 0 đến 3 hoặc phạm vi [bv] để khớp với bất kỳ ký tự chữ thường nào từb xuyên qua v.
Bộ định lượng
Tần suất hoặc vị trí của chuỗi ký tự trong ngoặc và các ký tự đơn có thể được ký hiệu bằng một ký tự đặc biệt. Mỗi ký tự đặc biệt có một nội hàm cụ thể. Các cờ +, *,?, Và $ đều tuân theo một chuỗi ký tự.
Sr.No. | Biểu thức & Mô tả |
---|---|
1 | p+ Nó khớp với bất kỳ chuỗi nào có chứa một hoặc nhiều p. |
2 | p* Nó khớp với bất kỳ chuỗi nào chứa không hoặc nhiều p. |
3 | p? Nó khớp với bất kỳ chuỗi nào chứa nhiều nhất một p. |
4 | p{N} Nó khớp với bất kỳ chuỗi nào có chứa chuỗi N của p |
5 | p{2,3} Nó khớp với bất kỳ chuỗi nào có chứa một chuỗi hai hoặc ba p. |
6 | p{2, } Nó khớp với bất kỳ chuỗi nào có chứa ít nhất hai p. |
7 | p$ Nó khớp với bất kỳ chuỗi nào có p ở cuối nó. |
số 8 | ^p Nó khớp với bất kỳ chuỗi nào có p ở đầu nó. |
Ví dụ
Các ví dụ sau giải thích thêm về các ký tự đối sánh.
Sr.No. | Biểu thức & Mô tả |
---|---|
1 | [^a-zA-Z] Nó khớp với bất kỳ chuỗi nào không chứa bất kỳ ký tự nào từ a xuyên qua z và A đến Z. |
2 | p.p Nó khớp với bất kỳ chuỗi nào có chứa p, theo sau là bất kỳ ký tự nào, lần lượt theo sau là ký tự khác p. |
3 | ^.{2}$ Nó khớp với bất kỳ chuỗi nào chứa chính xác hai ký tự. |
4 | <b>(.*)</b> Nó khớp với bất kỳ chuỗi nào được bao trong <b> và </b>. |
5 | p(hp)* Nó khớp với bất kỳ chuỗi nào có chứa p theo sau là không hoặc nhiều trường hợp của chuỗi hp. |
Ký tự chữ
Sr.No. | Nhân vật & Mô tả |
---|---|
1 | Alphanumeric Chinh no |
2 | \0 Ký tự NUL (\ u0000) |
3 | \t Tab (\ u0009 |
4 | \n Dòng mới (\ u000A) |
5 | \v Tab dọc (\ u000B) |
6 | \f Nguồn cấp dữ liệu biểu mẫu (\ u000C) |
7 | \r Vận chuyển trở lại (\ u000D) |
số 8 | \xnn Ký tự Latinh được chỉ định bởi số thập lục phân nn; ví dụ: \ x0A giống với \ n |
9 | \uxxxx Ký tự Unicode được chỉ định bởi số thập lục phân xxxx; ví dụ: \ u0009 giống với \ t |
10 | \cX Ký tự điều khiển ^ X; ví dụ: \ cJ tương đương với ký tự dòng mới \ n |
Metacharacters
Siêu ký tự chỉ đơn giản là một ký tự chữ cái đứng trước dấu gạch chéo ngược có tác dụng tạo cho sự kết hợp một ý nghĩa đặc biệt.
Ví dụ: bạn có thể tìm kiếm một khoản tiền lớn bằng cách sử dụng ký tự siêu '\ d': /([\d]+)000/, Đây \d sẽ tìm kiếm bất kỳ chuỗi ký tự số nào.
Bảng sau liệt kê một tập hợp các siêu ký tự có thể được sử dụng trong Biểu thức chính quy kiểu PERL.
Sr.No. | Nhân vật & Mô tả |
---|---|
1 | . một ký tự duy nhất |
2 | \s một ký tự khoảng trắng (dấu cách, tab, dòng mới) |
3 | \S ký tự không có khoảng trắng |
4 | \d một chữ số (0-9) |
5 | \D một chữ số |
6 | \w một ký tự từ (az, AZ, 0-9, _) |
7 | \W một ký tự không phải từ |
số 8 | [\b] một backspace theo nghĩa đen (trường hợp đặc biệt). |
9 | [aeiou] khớp với một ký tự trong tập hợp đã cho |
10 | [^aeiou] khớp với một ký tự bên ngoài tập hợp đã cho |
11 | (foo|bar|baz) phù hợp với bất kỳ lựa chọn thay thế nào được chỉ định |
Bổ ngữ
Một số công cụ sửa đổi có sẵn có thể đơn giản hóa cách bạn làm việc với regexps, như phân biệt chữ hoa chữ thường, tìm kiếm trong nhiều dòng, v.v.
Sr.No. | Công cụ sửa đổi & mô tả |
---|---|
1 | i Thực hiện đối sánh không phân biệt chữ hoa chữ thường. |
2 | m Chỉ định rằng nếu chuỗi có ký tự xuống dòng hoặc ký tự xuống dòng, thì các toán tử ^ và $ bây giờ sẽ khớp với ranh giới dòng mới, thay vì ranh giới chuỗi |
3 | g Thực hiện một trận đấu toàn cầu, tức là tìm tất cả các trận đấu thay vì dừng lại sau trận đấu đầu tiên. |
Thuộc tính RegExp
Đây là danh sách các thuộc tính được liên kết với RegExp và mô tả của chúng.
Sr.No. | Kê khai tài sản |
---|---|
1 | constructor Specifies the function that creates an object's prototype. |
2 | global Specifies if the "g" modifier is set. |
3 | ignoreCase Specifies if the "i" modifier is set. |
4 | lastIndex The index at which to start the next match. |
5 | multiline Specifies if the "m" modifier is set. |
6 | source The text of the pattern. |
In the following sections, we will have a few examples to demonstrate the usage of RegExp properties.
RegExp Methods
Here is a list of the methods associated with RegExp along with their description.
Sr.No. | Method & Description |
---|---|
1 | exec() Executes a search for a match in its string parameter. |
2 | test() Tests for a match in its string parameter. |
3 | toSource() Returns an object literal representing the specified object; you can use this value to create a new object. |
4 | toString() Returns a string representing the specified object. |
In the following sections, we will have a few examples to demonstrate the usage of RegExp methods.