美文网首页
RegExp类型

RegExp类型

作者: 郝加升 | 来源:发表于2018-11-07 18:33 被阅读0次

    每个正则表达式都可带有一个或多个标志,用以标明正则表达式的行为。正则表达式的匹配模式支持下列3个标志:

    g:表示全局模式,即模式将被应用于所有字符串,而非在发现第一个匹配项时立即停止。

    i:表示不区分大小写。

    m:表示多行。

    使用RegExp构造函数创建正则表达式:

    使用RegExp构造函数创建正则表达式,它接受两个参数:一个是要匹配的字符串模式,另一个是可选的标志字符串。要注意的是,由于RegExp构造函数的模式参数是字符串,所以在某些情况下要对字符进行双重转义。所有元字符都必须双重转义,那些已经转义过的字符串也是如此,例如:\d需要写成\\d(字符\在字符串中通常被转义为\\,而在正则表达式中就会变为\\,而使用RegExp构造函数的字符串中就会变为\\\\)。

    RegExp实例属性:

    global:布尔值,表示是否设置了g标志。

    ignoreCase:布尔值,表示是否设置了i标志。

    lastIndex:整数,表示开始搜索下一个匹配项的字符位置,从0算起。RegExp实例不管用test()方法还是exec方法,只要在设置了g标志并且匹配的情况下都会增加。

    multiline:布尔值,表示是否设置了m标志。

    source:正则表达式的字符串表示,按照字面量形式而非传入构造函数中的字符串模式返回。

    RegExp实例方法:

    exec(字符串):返回包含第一个匹配项信息的数组,在数组中第一项是与整个模式匹配的字符串,其它项是与模式中的捕获组匹配的字符串。返回的数组虽然是Array的实例,但包含两个额外的属性,index:表示匹配项在字符串中的位置,input:表示应用正则表达式的字符串。在没有匹配项的情况下返回null。

    即使在模式中设置了g标志,它每次也只会返回一个匹配项。在不设置g标志的情况下,在同一个字符串上多次调用exec()将始终返回第一个匹配项的信息。而在设置g标志的情况下,每次调用exec()则都会在字符串中继续查找新匹配项。

    test(字符串):在模式与字符串参数匹配的情况下返回true,否则返回false。

    toLocaleString():正则表达式的字符串表示,按照字面量形式而非传入构造函数中的字符串模式返回。

    toString():正则表达式的字符串表示,按照字面量形式而非传入构造函数中的字符串模式返回。

    valueOf():返回正则表达式本身。

    RegExp构造函数属性:

    这些属性基于所执行的最近一次正则表达式操作而变化。这些属性可以通过两种方式访问它们。第二种方式需要通过方括号的方式访问,例如:RegExp[‘$&’]

    input:也可以是$_。最近一次要匹配的字符串。

    lastMatch:也可以是$&。最近一次的匹配项。

    lastParen:也可以是$+。最近一次的捕获组。

    leftContext:也可以是$`。input字符串中lastMatch之前的文本。

    rightContext:也可以是$’。input字符串中lastMatch之后的文本。

    $n:9个用于存储捕获组的构造函数属性。访问这些属性的语法是RegExp.$1、RegExp.$2…RegExp.$9

    相关文章

      网友评论

          本文标题:RegExp类型

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