• 正则表达式之RegExp对象


    1、定义

    RegExp对象是原生JavaScript中表示正则表达式的对象;是正则表达式(regular expression)的简写。有一点需要明确知道,正则表达式只能对字符串进行操作。

    2、语法

    两种语法方式,一是新建RegExp对象,另一个直接创建

    语法一:var patt=new RegExp(pattern,attributes);
    
    语法二:var patt=/pattern/attributes;
    示例: 
    var re = new RegExp("\w+");
    var re = /w+/;
    
    注意:当使用构造函数创造正则对象时,需要常规的字符转义规则(在前面加反斜杠 )。以上是等价的。

    参数 pattern 是一个字符串,指定了正则表达式的模式或其他正则表达式。

    参数 attributes 是一个可选的字符串,包含属性 "g"、"i" 和 "m",分别用于指定全局匹配、区分大小写的匹配和多行匹配。ECMAScript 标准化之前,不支持 m 属性。如果 pattern 是正则表达式,而不是字符串,则必须省略该参数。

    3、修饰符

    “修饰符” 其含义类似于正则实例的附加属性。用于说明正则规则适用匹配的范围。

          i : 表示区分大小写字母匹配。
          m :表示多行匹配。
          g : 表示全局匹配。
            在非全局的情况下,正则会根据指定的“规则”从左至右对字符串进行匹配,一旦规则匹配完,便会停止匹配操作,返回结果。
            在全局的的情况下,正则会根据指定的“规则”从左至右对字符串进行匹配,一旦规则匹配完,便会在当前字符串匹配位置
            重新使用“规则”继续向下匹配,一直到字符串匹配完成。这也是下文中,我们会提到lastIndex属性存在的必要性。

    i,g,m三个修饰符可以相互组合同时使用

    4、RegExp对象方法

    RegExp 对象有 3 个方法:test()、exec() 以及 compile()。

    (1)、test( )

      test()方法检索字符串中的指定值。返回值是true或false。

    1 var patt1=new RegExp("e");
    2 document.write(patt1.test("The best things in life are free"));

    由于该字符串中存在字母 "e",以上代码的输出将是:true

    (2)、exec( )

      exec()方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回null

    1 var patt1=new RegExp("e");
    2 document.write(patt1.exec("The best things in life are free"));

    由于该字符串中存在字母 "e",以上代码的输出将是:e

    (3)、compile()

      compile可以重新指定正则实例的规则与修饰符。

    1 var pattern = /e/i;
    2 pattern.compile('a','g')

    规则由大小写检查e变为全局搜索a

    5、参考

    【1】 JavaScript RegExp 正则表达式基础详谈

    【2】简单教程

  • 相关阅读:
    EXCEL某列长度超过255个字符导入SQL SERVER2005的处理方法
    正则同时获取a标签里的href,text 2项
    火柴棍
    特殊数
    骨牌铺方格
    拼图
    挑战题之排列生成
    模拟 找规律
    sort
    贪心 简单背包问题
  • 原文地址:https://www.cnblogs.com/Dreamice/p/7152850.html
Copyright © 2020-2023  润新知