Regular Expression và RegExp trong JavaScript
Một Regular Expression là một đối tượng miêu tả một pattern của các ký tự. Lớp JavaScript RegExp biểu diễn Regular Expression, và cả String và RegExp định nghĩa các phương thức mà sử dụng Regular Expression để thực hiện các hàm so khớp pattern và tìm kiếm-thay thế mạnh trên văn ...
Một Regular Expression là một đối tượng miêu tả một pattern của các ký tự.
Lớp JavaScript RegExp biểu diễn Regular Expression, và cả String và RegExp định nghĩa các phương thức mà sử dụng Regular Expression để thực hiện các hàm so khớp pattern và tìm kiếm-thay thế mạnh trên văn bản.
Cú pháp
Một Regular Expression có thể được định nghĩa với RegExp () constructor như sau:
var pattern = new RegExp(pattern, attributes); or simply var pattern = /pattern/attributes;
Miêu tả tham số:
pattern − Một chuỗi mà xác định pattern của Regular Expression hoặc Regular Expression khác.
attributes − Một chuỗi tùy chọn chứa bất kỳ thuộc tính "g", "i", và "m" mà xác định tương ứng Global, Không phân biệt kiểu chữ (case-insensitive), và nhiều so khớp (multiline matches)
Các dấu ngoặc vuông
Các dấu ngoặc vuông ([]) có một ý nghĩa đặc biệt khi được sử dụng trong Regular Expression. Chúng được sử dụng để tìm một dãy ký tự.
Expression | Miêu tả |
---|---|
[...] | Bất kỳ một ký tự nào trong dấu ngoặc vuông |
[^...] | Bất kỳ một ký tự nào không trong dấu ngoặc vuông |
[0-9] | Nó so khớp bất kỳ số thập phân nào từ 0 đến 9 |
[a-z] | Nó so khớp bất kỳ ký tự chữ thường nào từ a đến z. |
[A-Z] | Nó so khớp bất kỳ ký tự chữ hoa nào từ A đến Z. |
[a-Z] | Nó so khớp bất kỳ ký tự nào từ chữ thường a đến chữ hoa Z. |
Các dãy được chỉ ở trên là chung; bạn cũng có thể sử dụng dãy [0-3] để so khớp bất kỳ số thập phân nào từ 0 đến 3, hoặc dãy [b-v] để so khớp bất kỳ ký tự chữ thường nào từ b đến v.
Phép lượng hóa (Quantifier)
Tần số và vị trí của các dãy ký tự và các ký tự đơn được bao trong các dấu ngoặc có thể được biểu thị bởi một ký tự đặc biệt. Mỗi ký tự đặc biệt có một phần mở rộng riêng biệt. Các +, * … theo sau một dãy ký tự.
Expression | Miêu tả |
---|---|
p+ | Nó so khớp bất kỳ chuỗi nào chứa ít nhất một p. |
p* | Nó so khớp bất kỳ chuỗi nào chứa 0 hoặc nhiều p. |
p? | Nó so khớp bất kỳ chuỗi nào chứa 1 hoặc nhiều p |
p{N} | Nó so khớp bất kỳ chuỗi nào chứa một dãy có {N} p |
p{2,3} | Nó so khớp bất kỳ chuỗi nào chứa một dãy có 2 hoặc 3 p |
p{2, } | Nó so khớp bất kỳ chuỗi nào chứa một dãy có ít nhất 2 p |
p$ | Nó so khớp bất kỳ chuỗi nào kết thúc với p |
^p | Nó so khớp bất kỳ chuỗi nào bắt đầu bằng p |
Ví dụ
Ví dụ sau giải thích chi tiết hơn về so khớp các ký tự.
Expression | Miêu tả |
---|---|
[^a-zA-Z] | Nó so khớp bất kỳ chuỗi nào không chứa bất kỳ ký tự từ a đến z và từ A đến Z. |
p.p | Nó so khớp bất kỳ chuỗi nào chứa p, được theo sau bởi bất kỳ ký tự nào, theo sau bởi một ký tự p khác. |
^.{2}$ | Nó so khớp bất kỳ chuỗi nào chứa chính xác 2 ký tự |
<b>(.*)</b> | Nó so khớp bất kỳ chuỗi nào trong thẻ <b> và </b>. |
p(hp)* | Nó so khớp bất kỳ chuỗi nào chứa p được theo sau bởi 0 hoặc nhiều dãy hp. |
Các ký tự Literal
Ký tự | Miêu tả |
---|---|
Alphanumeric | Chính nó |