Javascript – RegExp

Một biểu thức chính quy là một đối tượng mô tả một mẫu ký tự.

Lớp JavaScript RegExp đại diện cho các biểu thức chính quy và cả Chuỗi và RegExp đều xác định các phương thức sử dụng các biểu thức chính quy để thực hiện các chức năng 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 định nghĩa bằng hàm tạo RegExp(), như sau –

var pattern = new RegExp(pattern, attributes);
or simply
var pattern = /pattern/attributes;

Dưới đây là mô tả về các tham số –

pattern − Một chuỗi chỉ định mẫu của biểu thức chính quy hoặc biểu thức chính quy khác.

attribute − 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 kết quả khớp toàn cầu, không phân biệt chữ hoa chữ thường và nhiều dòng tương ứng.

Brackets

Dấu ngoặc vuông ([]) có ý nghĩa đặc biệt khi được sử dụng trong ngữ cảnh của biểu thức chính quy. Chúng được sử dụng để tìm một loạt các ký tự.

Sr.No.Expression & Description
1[…] Any one character between the brackets.
2[^…] Any one character not between the brackets.
3[0-9] It matches any decimal digit from 0 through 9.
4[a-z] It matches any character from lowercase a through lowercase z.
5[A-Z] It matches any character from uppercase A through uppercase Z.
6[a-Z] It matches any character from lowercase a through uppercase 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] để khớp với bất kỳ chữ số thập phân nào trong khoảng từ 0 đến 3 hoặc phạm vi [b-v] để khớp với bất kỳ ký tự chữ thường nào trong khoảng từ b đến v.

Định lượng

Tần suất hoặc vị trí của các chuỗi ký tự trong ngoặc và các ký tự đơn có thể được biểu thị bằng một ký tự đặc biệt. Mỗi ký tự đặc biệt có một ý nghĩa cụ thể. Các cờ +, *, ?, và $ đều theo một chuỗi ký tự.

Sr.No.Expression & Description
1p+ It matches any string containing one or more p’s.
2p* It matches any string containing zero or more p’s.
3p? It matches any string containing at most one p.
4p{N} It matches any string containing a sequence of N p’s
5p{2,3} It matches any string containing a sequence of two or three p’s.
6p{2, } It matches any string containing a sequence of at least two p’s.
7p$ It matches any string with p at the end of it.
8^p It matches any string with p at the beginning of it.

Ví dụ

Các ví dụ sau giải thích thêm về các ký tự phù hợp.

Sr.No.Expression & Description
1[^a-zA-Z] It matches any string not containing any of the characters ranging from a through z and A through Z.
2p.p It matches any string containing p, followed by any character, in turn followed by another p.
3^.{2}$ It matches any string containing exactly two characters.
4<b>(.*)</b> It matches any string enclosed within <b> and </b>.
5p(hp)* It matches any string containing a p followed by zero or more instances of the sequence hp.

Literal characters

Sr.No.Character & Description
1Alphanumeric Itself
2\0 The NUL character (\u0000)
3\t Tab (\u0009
4\n Newline (\u000A)
5\v Vertical tab (\u000B)
6\f Form feed (\u000C)
7\r Carriage return (\u000D)
8\xnn The Latin character specified by the hexadecimal number nn; for example, \x0A is the same as \n
9\uxxxx The Unicode character specified by the hexadecimal number xxxx; for example, \u0009 is the same as \t
10\cX The control character ^X; for example, \cJ is equivalent to the newline character \n

Metacharacters

Một 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 mang lại cho tổ hợp một ý nghĩa đặc biệt.

Chẳng hạn, bạn có thể tìm kiếm một số tiền lớn bằng cách sử dụng siêu ký tự ‘\d’: /([\d]+)000/, Ở đây \d sẽ tìm kiếm bất kỳ chuỗi ký tự số nào.

Bảng sau đây 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.Character & Description
1. a single character
2\s a whitespace character (space, tab, newline)
3\S non-whitespace character
4\d a digit (0-9)
5\D a non-digit
6\w a word character (a-z, A-Z, 0-9, _)
7\W a non-word character
8[\b] a literal backspace (special case).
9[aeiou] matches a single character in the given set
10[^aeiou] matches a single character outside the given set
11(foo|bar|baz) matches any of the alternatives specified

Modifiers

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 biểu thức chính quy, chẳng hạn như phân biệt chữ hoa chữ thường, tìm kiếm trong nhiều dòng, v.v.

Sr.No.Modifier & Description
1i Perform case-insensitive matching.
2m Specifies that if the string has newline or carriage return characters, the ^ and $ operators will now match against a newline boundary, instead of a string boundary
3g Performs a global matchthat is, find all matches rather than stopping after the first match.

Thuộc tính RegExp

Sr.No.Property & Description
1constructor Specifies the function that creates an object’s prototype.
2global Specifies if the “g” modifier is set.
3ignoreCase Specifies if the “i” modifier is set.
4lastIndex The index at which to start the next match.
5multiline Specifies if the “m” modifier is set.
6source The text of the pattern.

Phương thức RegExp

Sr.No.Method & Description
1exec() Executes a search for a match in its string parameter.
2test() Tests for a match in its string parameter.
3toSource() Returns an object literal representing the specified object; you can use this value to create a new object.
4toString() Returns a string representing the specified object.