美文网首页程序员
JavaScript 引用类型

JavaScript 引用类型

作者: 零小白 | 来源:发表于2013-09-03 15:28 被阅读131次

    一、 RegExp 类型

    JavaScript 通过 RegExp 类型来支持正则表达式。使用类似与 Perl 的语法,可以创建一个正则表达式。如下:

    var expressing = /parrten/flags;
    

    其中,正则表达式匹配模式支持三个标志。包括:g(全局模式)、i(不区分大小写)、m(多行模式)。同样,也可以使用 RexExp 构造函数,如下:

    var pattern = new RegExp("[bc]at", "i");
    

    由于 RegExp 构造函数使用的是字符串,所以有些时候要使用双重转义。

    1. RegExp 实例属性

    1. global: 布尔值,是否设置了 g 标志。
    2. ignoreCase: 布尔值,表示是否设置了 i 标志。
    3. lastIndex: 整数,表示开始搜索下一匹配项的起始位置,从0算起。
    4. multiline: 布尔值,是否设置了 m 标志。
    5. source: 字符串,正则表达式的字面量表示形式。

    2. RegExp 实例方法

    RexExp 的主要方法是 exec(),该方法接受一个参数,即要应用模式的字符串,然后返回包含第一个匹配项的数组,但是该数组包含两个额外的属性,index 和 input。其中 index 表示匹配项在字符串中的未知,而 input 则表示应用正则表达式的字符串。

    var text = "mom and dad and baby";
    var pattern = /mom (and dad (and baby)?)?/gi;
    
    var matches = pattern.exec(text);
    alert(matches.index);    // 0
    alert(matches.input);    // "mom and dad and baby"
    alert(matches[0]);    // "mom and dad and baby"
    alert(matches[1]);    // "and dad and baby"
    alert(matches[2]);    // "and baby"
    

    正则表达式的第二个方法是 test(), 它同样接受一个字符串参数。该模式与该字符串匹配的情况下,返回 true,否则返回 false。

    另外,RegExp 的实例中,toLocalString 和 toString 都返回该正则表达式的字面量表示形式。

    3. RegExp 的构造函数属性

    在其他语言当中,有点类似与类方法。这些属性适用于作用域中的所有正则表达式,并且基于所执行的最后一次正则表达式而变化。而且它们都支持两种方式访问,分别是一个长属性名和一个短属性名。

    1. input $_ 最近一次所匹配的字符串。
    2. lastMatch $& 最近一次匹配项
    3. lastParen $+ 最近一次匹配组
    4. leftContext $` 匹配字符串之前的字符串
    5. rightContext $' 匹配字符串之后的字符串
    6. multiline $* 表示是否使用多行文本

    相关文章

      网友评论

        本文标题:JavaScript 引用类型

        本文链接:https://www.haomeiwen.com/subject/mknftttx.html