ES6 - RegExp

Biểu thức chính quy là một đối tượng mô tả một mẫu ký tự. Cụm từ thông dụng thường được viết tắt “regex" hoặc là "regexp”.

JavaScript RegExp lớp đại diện cho các biểu thức chính quy và cả String 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 so khớp mẫu và tìm kiếm và thay thế mạnh mẽ trên văn bản.

Một biểu thức chính quy có thể được định nghĩa là -

var pattern = new RegExp(pattern, attributes); 
OR 
var pattern = /pattern/attributes;

Thuộc tính có thể có bất kỳ kết hợp nào của các giá trị sau.

Sr.No Thuộc tính & Mô tả
1

G

Trận đấu toàn cầu

2

I

Bỏ qua trường hợp

3

M

Đa tuyến; coi các ký tự bắt đầu và kết thúc (^ và $) như làm việc trên nhiều dòng (tức là khớp với đầu hoặc cuối mỗi dòng (được phân cách bằng \ n hoặc \ r), không chỉ phần đầu hoặc phần cuối của toàn bộ chuỗi đầu vào )

4

U

Mã Unicode; coi mẫu như một chuỗi các điểm mã unicode

5

Y

Dính; chỉ đối sánh từ chỉ mục được chỉ định bởi thuộc tính lastIndex của biểu thức chính quy này trong chuỗi mục tiêu (và không cố gắng đối sánh từ bất kỳ chỉ mục nào sau này)

Tạo biểu thức chính quy

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 qua chữ hoa Z

6

[a-Z]

Nó khớp với bất kỳ ký tự nào từ chữ thường a 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] để đối sánh 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 đến 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 biểu thị 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+, *, ?,$ tất cả các cờ 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 chứa ít nhất một p.

2

p*

Nó khớp với bất kỳ chuỗi nào chứa 0 hoặc nhiều hơn p's

3

p?

Nó khớp với bất kỳ chuỗi nào có chứa một hoặc nhiều p's

4

p{N}

Nó khớp với bất kỳ chuỗi nào có chứa chuỗi N p's

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's

6

p{2, }

Nó khớp với bất kỳ chuỗi nào có chứa ít nhất hai chuỗi p's

7

p$

Nó khớp với bất kỳ chuỗi nào với p ở cuối nó

số 8

^p

Nó khớp với bất kỳ chuỗi nào với p ở phần đầu của nó

9

[^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 zA xuyên qua Z

10

p.p

Nó khớp với bất kỳ chuỗi nào có chứa p, theo sau là ký tự bất kỳ, lần lượt theo sau là ký tự khác p

11

^.{2}$

Nó khớp với bất kỳ chuỗi nào chứa chính xác hai ký tự

12

<b>(.*)</b>

Nó khớp với bất kỳ chuỗi nào được bao gồm trong <b> và </b>

13

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

Nhân vật văn học

Sr.No Nhân vật & Mô tả
1

Alphanumeric

Chinh no

2

\0

Ký tự NULL (\ 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

Siêu ký tự

A meta-character 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 '\d'ký tự meta: / ([\ 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 ký tự meta 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ự

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

Không phải 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 một ký tự trong tập hợp đã cho

10

[^aeiou]

Khớp một ký tự bên ngoài tập hợp đã cho

11

(foo|bar|baz)

Đối sánh với bất kỳ lựa chọn thay thế nào được chỉ định

Thuộc tính RegExp

Sr.No Thuộc tính & Mô tả
1 RegExp.prototype.flags

Một chuỗi chứa các cờ của đối tượng RegExp

2 RegExp.prototype.global

Kiểm tra biểu thức chính quy với tất cả các kết quả phù hợp có thể có trong một chuỗi hay chỉ so với biểu thức đầu tiên

3 RegExp.prototype.ignoreCase

Có bỏ qua chữ hoa chữ thường trong khi thử đối sánh trong một chuỗi hay không

4 RegExp.prototype.lastIndex

Thuộc tính đọc / ghi của các đối tượng RegExp.

5 RegExp.prototype.multiline

Có hay không tìm kiếm trong chuỗi trên nhiều dòng

6 RegExp.prototype.source

Văn bản của mẫu

Phương thức RegExp

Sr.No Phương pháp & Mô tả
1 RegExp.prototype.exec ()

Thực hiện tìm kiếm đối sánh trong tham số chuỗi của nó

2 RegExp.prototype.test ()

Kiểm tra sự phù hợp trong tham số chuỗi của nó

3 RegExp.prototype.match ()

Thực hiện so khớp với chuỗi đã cho và trả về kết quả khớp

4 RegExp.prototype.replace ()

Thay thế các kết quả phù hợp trong chuỗi đã cho bằng một chuỗi con mới

5 RegExp.prototype.search ()

Tìm kiếm kết quả phù hợp trong chuỗi đã cho và trả về chỉ mục mà mẫu được tìm thấy trong chuỗi

6 RegExp.prototype.split ()

Tách chuỗi đã cho thành một mảng bằng cách tách chuỗi thành chuỗi con

7 RegExp.prototype.toString ()

Trả về một chuỗi đại diện cho đối tượng được chỉ định. Ghi đè phương thứcObject.prototype.toString ()