正则表达式静态/动态属性

 1 // 正则表达式的静态/动态属性。
 2 //     静态:直接调用,无需声明。
 3 /*    
 4     属性         短名    含义
 5     input        $_        当前被匹配的字符串
 6     lastMatch    $&        最后一个匹配字符串
 7     lastParen    $+        最后一对圆括号内的匹配子串
 8     leftContext    $`        最后一次匹配前的子串
 9     multiline    $*        用于指定是否所有的表达式都用于多行的布尔值
10     rightContext    $'    在上次匹配之后的子串
11     
12 
13     短名使用规则:
14     例:RegExp.input = RegExp[$_]
15         其中input还可以用RegExp.$_表示。其他均用数组形式表示。
16 */
17 var pattern=/google/i;
18 var str='This is a google';
19 pattern.test(str);    //必须执行一次,静态属性才有效
20 alert(RegExp.input);    //This is a google
21 alert(RegExp.leftContext);    //This is a 
22 alert(RegExp.rightContext);    //
23 alert(RegExp.lastMatch);    //google
24 
25 var pattern=/(g)oogle/i;
26 var str='This is a google';
27 pattern.test(str);
28 alert(RegExp.lastParen);    //g
29 
30 alert(RegExp.multiline);    //false
31 
32 
33 
34 //     动态(实例):声明(创建)之后才能使用。
35 
36     属性        含义
37     global        Boolean值,表示g是否已设置
38     ignoreCase    Boolean值,表示i是否已设置
39     lastIndex    整数,代表下次匹配将从哪里字符串位置开始
40     multiline    Boolean值,比哦是m是否已设置
41     source        正则表达式的源字符串形式
42 
43 
44 var pattern=/google/;
45     alert(pattern.global);
46     alert(pattern.ignoreCase);
47     alert(pattern.multiline);
48     alert(pattern.source);
49 
50 
51 var pattern=/google/g;
52 var str='google goole goole';
53 pattern.test(str);
54 alert(pattern.lastIndex);    //没什么用,而且在非全局的情况下获取下次匹配位置上IE分FF、Chrome不一致
View Code
高否?富否?帅否? 否? 滚去学习!
原文地址:https://www.cnblogs.com/baixc/p/3379768.html