JavaScript: Metasymbol
Giải phóng thời gian, khai phóng năng lực
Metasymbol cung cấp một cách khác để thể hiện một lớp nhân vật. Ví dụ: thay vì đại diện cho một số là [0-9], nó có thể được biểu thị dưới dạng \ d và thay thế cho việc đại diện cho một số không [^ 0-9] là \ D. Metasymbols dễ sử dụng và gõ hơn so với metachar character.
Ký hiệu |
Giải nghĩa |
Lớp ký tự |
---|---|---|
\d |
Một chữ số |
[0-9] |
\D |
Không phải một chữ số |
[^0-9] |
\s |
Một ký tự khoảng trắng (tab, dấu cách, dòng mới, carriage return, formfeed, tab dọc) |
|
\S |
Một ký tự không phải dấu cách |
|
\w |
Ký tự từ |
[A-Za-z0-9_] |
\W |
Không phải ký tự từ |
[^A-Za-z0-9] |
Ví dụ 1
<html><head><title>The Digit Meta Symbol</title> </head> <body> <script language="JavaScript"> 1 var reg_expression = /6\d\d/; 2 var textString=prompt("Type a string of text",""); 3 var result=reg_expression.test(textString); // Returns true or false document.write("<font size='+1'><b>"+result+"<br>"); if (result){ document.write("<b>The regular expression /6\\d\\d/ matched the string\""+ textString +"\".<br>"); } else{ alert("No Match!"); } </script> </body> </html>
GIẢI THÍCH
-
Biến được gán một biểu thức chính quy chứa số 6, theo sau là hai chữ số đơn. Metasymbol \d ứng với [0-9].
-
Biến textString được gán giá trị đầu vào của người dùng; trong ví dụ này, 126553 đã được nhập.
-
Phương thức test() sẽ trả về true vì chuỗi nhập vào chứa 6 theo sau bởi hai chữ số bất kỳ.
Ví dụ 2
<html><head><title>The Digit Meta Symbol Negated</title> </head> <body> <script language="JavaScript"> 1 var reg_expression = /[a-z]\D\D/; 2 var textString=prompt("Type a string of text",""); 3 var result=reg_expression.test(textString); // Returns true or false document.write("<font size='+1'><b>"+result+"<br>"); if (result){ document.write("<b>The regular expression /[a-z]\\D\\D/ matched the string\"" + textString +"\".<br>"); } else{ alert("No Match!"); } </script> </body> </html>
GIẢI TRÌNH
-
Biến được gán một biểu thức chính quy có chứa một chữ cái, theo sau là hai chữ số đơn. Metasymbol \D đại diện cho lớp ký tự [^ 0-9].
-
Biến textString được gán đầu vào của người dùng; trong ví dụ này, Hello! đã được nhập
-
Phương thức test() sẽ trả về true vì chuỗi Hello! khớp với một chữ cái viết thường, theo sau là hai ký tự không có chữ số.
Ví dụ 3
<html><head><title>Word and Space Metasymbols</title> </head> <body> <script language="JavaScript"> 1 var reg_expression = /\w\s\w\W/; 2 var textString=prompt("Type a string of text",""); 3 var result=reg_expression.test(textString); // Returns true or false document.write("<font size='+1'><b>"+result+"<br>"); if (result){ document.write("<b>The regular expression /\\w\\s\\w\\W/ matched the string\""+ textString +"\".<br>"); } else{ alert("No Match!"); } </script> </body> </html>
GIẢI TRÌNH
-
Biến được gán một biểu thức chính quy chứa ký tự từ chữ và số \w, theo sau là dấu cách \s, theo sau là một ký tự từ chữ và số khác, theo sau là ký tự từ không chữ và số \W. Metasymbol \w đại diện cho lớp ký tự [A-Za-z0-9_]. Metasymbol \W đại diện cho lớp ký tự [^A-Za-z0-9_] và metasymbol \s đại diện cho một ký tự khoảng trắng (tab, dấu cách, dòng mới, carriage return, formfeed).
-
Biến textString được gán đầu vào của người dùng; trong ví dụ này, ABC D% được nhập trước.
-
Phương thức test() sẽ trả về true vì chuỗi ABC D% khớp với ký tự chữ và số (C), theo sau là khoảng trắng, một ký tự chữ và số khác (D) và ký tự không chữ và số (%).
Giải phóng thời gian, khai phóng năng lực