5.4.1 RegExp实例属性

时间:2023-03-09 16:40:13
5.4.1 RegExp实例属性

RegExp的每个实例都具有下列属性,通过这些属性可以取得有关模式的各种信息。
        1、global:布尔值,表示是否设置了 g 标志。
        2、ignoreCase:布尔值,表示是否设置了 i 标志。
        3、lastIndex:整数,表示开始搜索下一个匹配项的字符位置,从0开始。
        4、multiline:布尔值,表示是否设置了 m 标志。
        5、source:正则表达式的字符串表示,按照字面量形式而非传入构造函数中的字符串模式返回。

通过这些属性可以获知一个正则表达式的各方面信息,但却没有多大用处,因为这些信息全部都包含在模式声明中。例如:

  1. var pattern1=/\[bc\]at/i;
  2. alert(pattern1.global);          //false
  3. alert(pattern1.ignoreCase);   //true
  4. alert(pattern1.multiline);      //false
  5. alert(pattern1.lastIndex);     //0
  6. alert(pattern1.source);         // "\[bc\]at"
  7. var pattern2 = new RegExp("\\[bc\\]at","i");
  8. alert(pattern2.global);          //false
  9. alert(pattern2.ignoreCase);   //true
  10. alert(pattern2.multiline);      //false
  11. alert(pattern2.lastIndex);     //0
  12. alert(pattern2.source);         // "\[bc\]at"

复制代码

我们可以看到,尽管第一种模式使用的是字面量,第二种模式使用的是RegExp构造函数,但它们的source属性是相同的,可见,source属性保存的是规范形式的字符串,即字面量形式所用的字符串。

注:我是小小白,欢迎各位大神指出文中不对的地方^_^~~