Javascript之RegExp

RegExp对象的构造器

new RegExp(pattern[, flags])

  • pattern

    • 正则表达式文本
  • flags

    • 该参数可以是下面几个值的任意组合:
    1. g

      全局匹配

    2. i

      忽略大小写

    3. m

      让开始和结束字符(^ 和 $)工作在多行模式(也就是,^ 和 $ 可以匹配字符串中每一行的开始和结束(行是由 \n 或 \r 分割的),而不只是整个输入字符串的最开始和最末尾处。

//下面的表达式是等价的
var re = /ab+c/i;
var re = new RegExp("ab+c", "i");

RegExp的构造器的属性

RegExp.prototype

  • RegExp.prototype的初始值为RegExp的原型

RegExp的实例的属性

source

  • 返回一个值为当前正则表达式对象的模式文本的字符串,该字符串不会包含正则字面量两边的斜杠以及任何的标志字符。

    var regex = /fooBar/ig;
    console.log(regex.source); // "fooBar",不包含 /.../ 和 "ig"。
    

global

  • 表明正则表达式是否使用了 "g" 标志。global 是一个正则表达式实例的只读属性。

  • global 的值是布尔对象,如果使用了 "g" 标志,则返回 true;否则返回 false。 "g" 标志意味着正则表达式应该测试字符串中所有可能的匹配。

    var regex = new RegExp("foo", "g")
    console.log(regex.global) // true
    

ignoreCase

  • 表明正则表达式是否使用了 "i" 标志。ignoreCase 是正则表达式实例的只读属性。

  • ignoreCase 的值是布尔对象,如果使用了"i" 标志,则返回 true;否则,返回 false。"i" 标志意味着在字符串进行匹配时,应该忽略大小写。

    var regex = new RegExp("foo", "i")
    console.log(regex.ignoreCase) // true
    

multiline

  • 表明正则表达式是否使用了 "m" 标志。multiline 是正则表达式实例的一个只读属性。

  • multiline 是一个布尔对象,如果使用了 "m" 标志,则返回 true;否则,返回 false。"m" 标志意味着一个多行输入字符串被看作多行。例如,使用 "m","^" 和 "$" 将会从只匹配正则字符串的开头或结尾,变为匹配字符串中任一行的开头或结尾。

    var regex = new RegExp("foo", "m")
    console.log(regex.multiline) // true
    

lastIndex

  • 正则表达式的一个可读可写的整型属性,用来指定下一次匹配的起始索引。

RegExp的原型对象的方法

RegExp.prototype.constructor

  • RegExp.prototype.constructor 的初始值为内置 RegExp 构造器。

RegExp.prototype.exec(string)

  • 为指定的一段字符串执行搜索匹配操作。它的返回值是一个数组或者 null。

    var re = new RexExp("abc", "i");
    var str = "abc16";
    re.exec(str); // ["abc"]
    

RegExp.prototype.test(string)

  • 执行一个检索,用来查看正则表达式与指定的字符串是否匹配。返回 true 或 false。

    var re = new RexExp("abc", "i");
    var str = "abc16";
    re.test(str); // true
    

RegExp.prototype.toString()

  • 返回一个表示该正则表达式的字符串。

    var re = new RegExp("abc", "i");
    console.log(re.toString()); // /abc/i
    

参考火狐标准库

posted @ 2016-03-09 21:04  小鱼Gus  阅读(138)  评论(0编辑  收藏  举报