| Ký tự |
Mô tả |
| \ |
Đánh dấu ký tự tiếp theo là ký tự đặc biệt, ký tự nguyên thủy, tham chiếu ngược, hoặc ký tự thoát bát phân. Ví dụ, “n” khớp với ký tự “n”. “\n” khớp với một ký tự xuống dòng. Dãy “\\” khớp với “\” và “\(” khớp với “(”. |
| ^ |
Khớp với vị trí bắt đầu của chuỗi đầu vào. Nếu thuộc tính Multiline của đối tượng RegExp được thiết lập, ^ cũng khớp với vị trí sau “\n” hoặc “\r”. |
| $ |
Khớp với vị trí kết thúc của chuỗi đầu vào. Nếu thuộc tính Multiline của đối tượng RegExp được thiết lập, $ cũng khớp với vị trí trước “\n” hoặc “\r”. |
| * |
Khớp với biểu thức con phía trước không lần nào hoặc nhiều lần. Ví dụ, zo* có thể khớp với “z” và “zoo”. * tương đương với {0,}. |
| + |
Khớp với biểu thức con phía trước một hoặc nhiều lần. Ví dụ, “zo+” có thể khớp với “zo” và “zoo”, nhưng không thể khớp với “z”. + tương đương với {1,}. |
| ? |
Khớp với biểu thức con phía trước không lần nào hoặc một lần. Ví dụ, “do(es)?” có thể khớp với “do” trong “do” hoặc “does”. ? tương đương với {0,1}. |
| {n} |
n là một số nguyên không âm. Khớp chính xác n lần. Ví dụ, “o{2}” không khớp với “o” trong “Bob”, nhưng có thể khớp với hai “o” trong “food”. |
| {n,} |
n là một số nguyên không âm. Khớp ít nhất n lần. Ví dụ, “o{2,}” không khớp với “o” trong “Bob”, nhưng có thể khớp với tất cả “o” trong “foooood”. “o{1,}” tương đương với “o+”. “o{0,}” tương đương với “o*”. |
| {n,m} |
m và n là những số nguyên không âm, trong đó n<=m. Khớp ít nhất n lần và tối đa m lần. Ví dụ, “o{1,3}” sẽ khớp với ba “o” đầu tiên trong “fooooood”. “o{0,1}” tương đương với “o?”. Lưu ý không có khoảng trắng giữa dấu phẩy và hai số. |
| ? |
Khi ký tự này ngay sau bất kỳ định nghĩa nào khác (*,+,?, {n},{n,},{n,m}) thì chế độ khớp là không tham lam. Chế độ không tham lam khớp với chuỗi được tìm kiếm ít nhất có thể, trong khi chế độ tham lam mặc định khớp với chuỗi được tìm kiếm nhiều nhất có thể. Ví dụ, với chuỗi “oooo”, “o+?” sẽ khớp với một “o”, trong khi “o+” sẽ khớp tất cả “o”. |
| . |
Khớp bất kỳ ký tự đơn nào ngoại trừ “\n”. Để khớp bất kỳ ký tự nào bao gồm “\n”, hãy sử dụng mẫu như “[.\n]”. |
| (pattern) |
Khớp pattern và lấy được khớp này. Những khớp lấy được có thể từ tập hợp Matches mà được tạo ra, trong VBScript sử dụng tập hợp SubMatches, trong JScript sử dụng thuộc tính $0…$9. Để khớp với ký tự ngoặc, hãy sử dụng “\(” hoặc “\)”. |
| (?:pattern) |
Khớp với pattern nhưng không lấy khớp kết quả, tức là đây là một khớp không lấy được, không được lưu lại để sử dụng sau này. Điều này rất hữu ích khi sử dụng ký tự hoặc “(|)” để kết hợp các phần của một mẫu. Ví dụ, “industr(?:y|ies)” là một biểu thức ngắn gọn hơn so với “industry|industries”. |
| (?=pattern) |
Khớp với phép kiểm tra tiên tiến, khớp với chuỗi tìm kiếm bắt đầu phù hợp với pattern. Đây là một khớp không lấy được, tức là khớp này không cần phải lưu lại để sử dụng sau này. Ví dụ, “Windows(?=95|98|NT|2000)” có thể khớp với “Windows” trong “Windows2000”, nhưng không khớp với “Windows” trong “Windows3.1”. Phép kiểm tra tiên tiến không tiêu tốn ký tự, có nghĩa là sau khi một khớp xảy ra, tìm kiếm cho khớp tiếp theo ngay lập tức bắt đầu ngay sau khớp cuối cùng, thay vì bắt đầu từ các ký tự chứa kiểm tra. |
| (?!pattern) |
Khớp với phép kiểm tra tiêu cực, khớp với chuỗi không phù hợp với pattern. Đây là một khớp không lấy được, có nghĩa là khớp này không cần phải lưu lại để sử dụng sau này. Ví dụ, “Windows(?!95|98|NT|2000)” có thể khớp với “Windows” trong “Windows3.1”, nhưng không khớp với “Windows” trong “Windows2000”. Phép kiểm tra tiêu cực không tiêu tốn ký tự, có nghĩa là sau khi một khớp xảy ra, tìm kiếm cho khớp tiếp theo ngay lập tức bắt đầu ngay sau khớp cuối cùng, thay vì bắt đầu từ các ký tự chứa kiểm tra. |
| x|y |
Khớp x hoặc y. Ví dụ, “z|food” có thể khớp với “z” hoặc “food”. “(z|f)ood” thì khớp với “zood” hoặc “food”. |
| [xyz] |
Tập hợp ký tự. Khớp với bất kỳ ký tự nào có trong tập hợp. Ví dụ, “[abc]” có thể khớp với “a” trong “plain”. |
| [^xyz] |
Tập hợp ký tự phủ định. Khớp với bất kỳ ký tự nào không có trong tập hợp. Ví dụ, “[abc]” có thể khớp với “p” trong “plain”. |
| [a-z] |
Phạm vi ký tự. Khớp với bất kỳ ký tự nào trong phạm vi xác định. Ví dụ, “[a-z]” có thể khớp với bất kỳ ký tự chữ cái viết thường nào trong khoảng “a” đến “z”. |
| [^a-z] |
Phạm vi ký tự phủ định. Khớp với bất kỳ ký tự nào không trong phạm vi xác định. Ví dụ, “[^a-z]” có thể khớp với bất kỳ ký tự nào không nằm trong khoảng “a” đến “z”. |
| \b |
Khớp với biên giới của một từ, tức là vị trí giữa từ và khoảng trống. Ví dụ, “er\b” có thể khớp với “er” trong “never”, nhưng không khớp với “er” trong “verb”. |
| \B |
Khớp với vị trí không phải biên giới của từ. “er\B” có thể khớp với “er” trong “verb”, nhưng không khớp với “er” trong “never”. |
| \cx |
Khớp với ký tự điều khiển được chỉ định bởi x. Ví dụ, \cM khớp với một Control-M hoặc ký tự trở lại. Giá trị của x phải là một trong A-Z hoặc a-z. Nếu không, c sẽ được coi là một ký tự nguyên thủy “c”. |
| \d |
Khớp với một ký tự số. Tương đương với [0-9]. |
| \D |
Khớp với một ký tự không phải số. Tương đương với [^0-9]. |
| \f |
Khớp một ký tự xuống trang. Tương đương với \x0c và \cL. |
| \n |
Khớp một ký tự xuống dòng. Tương đương với \x0a và \cJ. |
| \r |
Khớp một ký tự trở lại. Tương đương với \x0d và \cM. |
| \s |
Khớp bất kỳ ký tự trắng nào, bao gồm khoảng trắng, tab, ký tự xuống dòng, v.v. Tương đương với [\f\n\r\t\v]. |
| \S |
Khớp bất kỳ ký tự không phải trắng nào. Tương đương với [^\f\n\r\t\v]. |
| \t |
Khớp với một ký tự tab. Tương đương với \x09 và \cI. |
| \v |
Khớp với một ký tự tab dọc. Tương đương với \x0b và \cK. |
| \w |
Khớp với bất kỳ ký tự từ nào bao gồm dấu gạch dưới. Tương đương với “[A-Za-z0-9_]”. |
| \W |
Khớp với bất kỳ ký tự không phải từ nào. Tương đương với “[^A-Za-z0-9_]”. |
| \xn |
Khớp với n, trong đó n là một giá trị thoát bát phân. Giá trị thoát bát phân phải có độ dài hai chữ số xác định. Ví dụ, “\x41” khớp với “A”. “\x041” thì tương đương với “\x04&1”. Có thể sử dụng mã ASCII trong biểu thức chính quy. |
| \num |
Khớp với num, trong đó num là một số nguyên dương. Dùng để tham chiếu đến các khớp lấy được. Ví dụ, “(.)\1” khớp với hai ký tự giống nhau liên tiếp. |
| \n |
Đánh dấu một giá trị thoát bát phân hoặc một tham chiếu ngược. Nếu {\n} trước đó ít nhất có n kết quả con lấy được, thì n là tham chiếu ngược. Ngược lại, nếu n là một con số bát phân (0-7), thì n là một giá trị thoát bát phân. |
| \nm |
Đánh dấu một giá trị thoát bát phân hoặc một tham chiếu ngược. Nếu {\nm} trước đó có ít nhất nm kết quả lấy được, thì nm là tham chiếu ngược. Nếu trước đó có ít nhất n kết quả lấy được, thì n là một tham chiếu ngược dẫn đến ký tự m. Nếu không điều kiện nào được thỏa mãn, nếu n và m đều là số bát phân (0-7), thì \nm sẽ khớp một giá trị thoát bát phân nm. |
| \nml |
Khớp một giá trị thoát bát phân nếu n là số bát phân (0-3) và m và l đều là các số bát phân (0-7). |
| \un |
Khớp với n, trong đó n là ký tự Unicode được biểu diễn bằng bốn chữ số thập lục phân. Ví dụ, \u00A9 khớp với ký hiệu bản quyền (©). |