JavaScript: Thuộc tính của đối tượng RegExp
Giải phóng thời gian, khai phóng năng lực
Có hai loại thuộc tính có thể được áp dụng cho đối tượng RegExp. Loại đầu tiên được gọi là một thuộc tính lớp (xem Bảng 1) và áp dụng cho toàn bộ đối tượng RegExp, không phải là một thể hiện đơn giản của một đối tượng biểu thức chính quy. Ví dụ: thuộc tính đầu vào chứa chuỗi cuối cùng được khớp và được áp dụng trực tiếp vào đối tượng RegExp là RegExp.input. Loại thuộc tính khác được gọi là thuộc tính thể hiện và được áp dụng cho một thể hiện của đối tượng (xem Bảng 2); ví dụ: mypotype.lastIndex đề cập đến vị trí trong chuỗi nơi tìm kiếm tiếp theo sẽ bắt đầu cho trường hợp này của đối tượng biểu thức chính quy, được gọi là mypotype.
Thuộc tính |
Mô tả |
---|---|
input |
Đại diện cho chuỗi đầu vào được khớp |
lastMatch |
Đại diện cho các ký tự phù hợp cuối cùng |
lastParen |
Đại diện cho mẫu chuỗi con trong ngoặc cuối cùng tương thích |
leftContext |
Đại diện cho chuỗi con trái khớp mẫu gần đây nhất |
RegExp.$* |
Giá trị Boolean xác định xem các chuỗi có nên được tìm kiếm trên nhiều dòng hay không; giống như thuộc tính đa dòng |
RegExp.$& |
Đại diện cho các ký tự phù hợp cuối cùng |
RegExp.$_ |
Đại diện cho đầu vào chuỗi đang được khớp |
RegExp.$' |
Đại diện cho chuỗi con trước khớp mẫu gần đây nhất (xem thuộc tính leftContext) |
RegExp.$' |
Đại diện cho chuỗi con theo mẫu khớp gần đây nhất (xem thuộc tính rightContext) |
RegExp.$+ |
Đại diện cho mẫu khớp chuỗi con trong ngặc cuối cùng (xem thuộc tính lastParen) |
RegExp. $1,$2,$3... |
Được sử dụng để chụp các chuỗi của những tương thích |
rightContext |
Đại diện cho chuỗi con theo mẫu khớp gần đây nhất |
Thuộc tính |
Mô tả |
---|---|
global |
Boolean để chỉ định nếu tùy chọn |
ignoreCase |
Boolean để chỉ định nếu tùy chọn |
lastIndex |
Nếu tùy chọn |
multiline |
Boolean để kiểm tra nếu tùy chọn |
source |
Văn bản của biểu thức chính quy |
Ví dụ
<html> <head><title>The test() method</title> </head> <body bgcolor=silver> <font face="arial" size="+1"> <script> 1 var myString="I love my new gloves!"; 2 var regex = /love/g; //Tạo mẫu với tùy chọn g 3 var booleanResult = regex.test(myString); if ( booleanResult != false ){ 4 document.write("Tested regular expression <em>"+ regex.source + ".</em> The result is <em>" + booleanResult + "</em>"); document.write(".<br>Starts searching again at position " + 5 regex.lastIndex + " in string<em> \"" + 6 RegExp.input + "\"<br>"); document.write("The last matched characters were: "+ 7 RegExp.lastMatch+"<br>"); document.write("The substring preceding the last match is: 8 "+ RegExp.leftContext+"<br>"); document.write("The substring following the last match is: 9 "+ RegExp.rightContext+"<br>"); } else{ alert("No match!"); } </script></body> </html>
GIẢI THÍCH
-
Đối tượng chuỗi cần kiểm tra được tạo.
-
Một đối tượng biểu thức chính quy, được gọi là regex, được tạo.
-
Phương thức test () trả về true hoặc false nếu biểu thức chính quy được khớp trong chuỗi.
-
Thuộc tính nguồn được áp dụng cho regex, một thể hiện của đối tượng RegExp. Nó chứa văn bản của biểu thức chính quy, /love/.
-
Thuộc tính lastIndex được áp dụng cho một thể hiện của đối tượng RegExp. Nó đại diện cho vị trí nhân vật ngay sau chuỗi phù hợp cuối cùng.
-
Thuộc tính lớp đầu vào biểu thị chuỗi đầu vào mà trên đó mẫu khớp (biểu thức chính quy) được thực hiện.
-
lastMatch là một thuộc tính lớp đại diện cho các ký tự được khớp lần cuối.
-
leftContext là một thuộc tính lớp đại diện cho mẫu chuỗi con bên trái nhất trước mẫu cuối cùng được khớp; ở đây, bất cứ chuỗi nào đến trước /love/.
-
rightContext là một thuộc tính lớp đại diện cho mẫu chuỗi con bên phải nhất theo mẫu cuối cùng được khớp; ở đây, bất cứ chuỗi nào đến sau /love/.
Giải phóng thời gian, khai phóng năng lực