Sách tham khảo JavaScript RegExp
- Trang trước JS Promise
- Trang tiếp theo JS Set
Đối tượng RegExp
Biểu thức chính quy là một mẫu ký tự.
Mô hình này được sử dụng để thực hiện chức năng 'tìm kiếm và thay thế' đối với văn bản.
Trong JavaScript, đối tượng RegExp là một đối tượng có thuộc tính và phương thức.
Cú pháp
/pattern/modifier(s);
Mô hình
let pattern = /codew3c/i;
Giải thích ví dụ:
codew3c | Mô hình cần tìm kiếm |
/codew3c/ | Biểu thức chính quy |
/codew3c/i | Biểu thức chính quy không phân biệt chữ hoa thường |
Để biết thêm về kiến thức về biểu thức chính quy, hãy đọc Hướng dẫn JavaScript RegExp.
Chỉ định
Chỉ định được sử dụng để thực hiện tìm kiếm không phân biệt chữ hoa thường và toàn cục:
Chỉ định | Mô tả |
---|---|
g | Thực hiện khớp toàn cục (tìm kiếm tất cả các khớp thay vì dừng lại sau khi khớp đầu tiên). |
i | Thực hiện khớp không phân biệt chữ hoa thường. |
d | Thực hiện khớp chuỗi con. |
m | Thực hiện khớp đa dòng. |
Dấu ngoặc vuông
Dấu ngoặc vuông được sử dụng để tìm kiếm các ký tự trong phạm vi nào đó:
Biểu thức | Mô tả |
---|---|
[abc] | Tìm kiếm bất kỳ ký tự nào trong dấu ngoặc kép. |
[^abc] | Tìm kiếm bất kỳ ký tự nào không nằm trong dấu ngoặc vuông. |
[0-9] | Tìm kiếm bất kỳ số từ 0 đến 9 nào. |
[^0-9] | Tìm kiếm bất kỳ ký tự nào không trong dấu ngoặc (bất kỳ ký tự không phải là số). |
(x|y) | Tìm kiếm bất kỳ tùy chọn nào được chỉ định. |
Ký tự đặc biệt
Ký tự đặc biệt là các ký tự có ý nghĩa đặc biệt:
Ký tự đặc biệt | Mô tả |
---|---|
. | Tìm kiếm ký tự đơn lẻ, trừ ký tự mới dòng hoặc kết thúc dòng. |
\w | Tìm kiếm ký tự từ. |
\W | Tìm kiếm ký tự không phải là từ. |
\d | Tìm kiếm số. |
\D | Tìm kiếm ký tự không phải là số. |
\s | Tìm kiếm ký tự trống. |
\S | Tìm kiếm ký tự không phải là ký tự trống. |
\b | Tìm kiếm khớp ở đầu hoặc cuối từ, đầu như sau: \bHI, cuối như sau: HI\b. |
\B | Tìm kiếm khớp nhưng không ở đầu hoặc cuối từ. |
\0 | Tìm kiếm ký tự NULL. |
\n | Tìm kiếm ký tự newline. |
\f | Tìm kiếm ký tự page break. |
\r | Tìm kiếm ký tự carriage return. |
\t | Tìm kiếm ký tự tab. |
\v | Tìm kiếm ký tự verticat tab. |
\xxx | Tìm kiếm ký tự được quy định bởi số octal xxx. |
\xdd | Tìm kiếm ký tự được quy định bởi số hex dd. |
\udddd | Tìm kiếm ký tự Unicode được quy định bởi số hex xxxx. |
Định lượng
Định lượng | Mô tả |
---|---|
n+ | Khớp với bất kỳ chuỗi nào chứa ít nhất một n. |
n* | Khớp với bất kỳ chuỗi nào chứa ít nhất một hoặc nhiều n. |
n? | Khớp với bất kỳ chuỗi nào chứa ít nhất một n. |
n{X} | Khớp với bất kỳ chuỗi nào chứa X n. |
n{X,Y} | Khớp với bất kỳ chuỗi nào chứa từ X đến Y n. |
n{X,} | Khớp với bất kỳ chuỗi nào chứa ít nhất X n. |
n$ | Khớp với bất kỳ chuỗi nào kết thúc với n. |
^n | Khớp với bất kỳ chuỗi nào bắt đầu với n. |
?=n | Khớp với bất kỳ chuỗi nào sau này tiếp theo chuỗi n. |
?!n | Khớp với bất kỳ chuỗi nào sau này không tiếp theo chuỗi n. |
Thuộc tính đối tượng RegExp
Thuộc tính | Mô tả |
---|---|
constructor | Trả về hàm tạo nguyên mẫu của đối tượng RegExp. |
global | Kiểm tra xem đã thiết lập修饰符 "g" hay chưa. |
ignoreCase | Kiểm tra xem đã thiết lập修饰符 "i" hay chưa. |
lastIndex | Định nghĩa chỉ số bắt đầu của khớp tiếp theo. |
multiline | Kiểm tra xem đã thiết lập修饰符 "m" hay chưa. |
source | Trả về văn bản của mẫu RegExp. |
Phương thức đối tượng RegExp
Phương pháp | Mô tả |
---|---|
compile() | Đã bỏ不支持 từ phiên bản 1.5. Biên dịch biểu thức chính quy. |
exec() | Kiểm tra phần tử khớp trong chuỗi. Trả về phần tử khớp đầu tiên. |
test() | Kiểm tra phần tử khớp trong chuỗi. Trả về true hoặc false. |
toString() | Trả về giá trị chuỗi của biểu thức chính quy. |
Mô tả đối tượng RegExp
Đối tượng RegExp biểu thị biểu thức chính quy, là công cụ mạnh mẽ để khớp mẫu với chuỗi.
Cú pháp trực tiếp
/pattern/attributes
Cú pháp tạo đối tượng RegExp:
new RegExp(pattern, attributes);
Tham số
Tham số pattern Là một chuỗi, chỉ định mẫu biểu thức chính quy hoặc biểu thức chính quy khác.
Tham số attributes Là một chuỗi tùy chọn, chứa thuộc tính "g", "i" và "m", lần lượt dùng để chỉ định khớp toàn bộ, khớp phân biệt chữ hoa-chữ thường và khớp đa dòng. Trước khi chuẩn hóa ECMAScript, thuộc tính m không được hỗ trợ. Nếu pattern Là biểu thức chính quy, không phải chuỗi, thì phải bỏ qua tham số này.
Giá trị trả về
Một đối tượng RegExp mới, có mô hình và dấu hiệu được chỉ định. pattern Là biểu thức chính quy而不是 chuỗi, thì hàm xây dựng RegExp() sẽ tạo đối tượng RegExp mới với cùng mô hình và dấu hiệu như biểu thức chính quy được chỉ định.
Nếu không sử dụng toán tử new, mà gọi RegExp() như một hàm, thì hành vi của nó giống như khi gọi bằng toán tử new, chỉ khi pattern Là biểu thức chính quy, nó chỉ trả về patternCòn lại, không tạo đối tượng RegExp mới.
Ném
SyntaxError - Nếu pattern Không phải biểu thức chính quy hợp lệ, hoặc attributes Chứa ký tự ngoài "g", "i" và "m", ném ngoại lệ này.
TypeError - Nếu pattern Là đối tượng RegExp, nhưng không bỏ qua attributes Tham số, ném ngoại lệ này.
Hỗ trợ trình duyệt
/regexp/ là tính năng của ECMAScript1 (ES1).
Tất cả các trình duyệt đều hỗ trợ hoàn toàn ES1 (JavaScript 1997):
Chrome | IE | Edge | Firefox | Safari | Opera |
---|---|---|---|---|---|
Chrome | IE | Edge | Firefox | Safari | Opera |
Hỗ trợ | Hỗ trợ | Hỗ trợ | Hỗ trợ | Hỗ trợ | Hỗ trợ |
Phương pháp của đối tượng String hỗ trợ biểu thức chính quy
Phương pháp | Mô tả |
---|---|
search | Tìm kiếm giá trị khớp với biểu thức chính quy. |
match | Tìm thấy một hoặc nhiều khớp biểu thức chính quy. |
replace | Thay thế chuỗi con khớp với biểu thức chính quy. |
split | Chia chuỗi thành mảng chuỗi. |
- Trang trước JS Promise
- Trang tiếp theo JS Set