JavaScript: Metasymbol

Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
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.

Bảng 1. Các Metasymbol.

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

  1. 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].

  2. 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.

  3. 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

  1. 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].

  2. Biến textString được gán đầu vào của người dùng; trong ví dụ này, Hello! đã được nhập

  3. 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

  1. 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).

  2. 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.

  3. 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ố (%).

» Tiếp: Đối tượng Array
« Trước: Lớp ký tự
Các khóa học qua video:
Python SQL Server PHP C# Lập trình C Java HTML5-CSS3-JavaScript
Học trên YouTube <76K/tháng. Đăng ký Hội viên
Viết nhanh hơn - Học tốt hơn
Giải phóng thời gian, khai phóng năng lực
Copied !!!