zoukankan      html  css  js  c++  java
  • 【js】关于正则表达式

    正则表达式描述了字符的模式对象

    语法:

    var patt=new RegExp(pattern,modifiers);
    
    或更简单的方法
    
    var patt=/pattern/modifiers;
    • 模式描述了一个表达式模型。
    • 修饰符(modifiers)描述了检索是否是全局,区分大小写等。

      注意:当使用构造函数创造正则对象时,需要常规的字符转义规则(在前面加反斜杠 )。比如,以下是等价的:

            var re = new RegExp("\w+");
            var re = /w+/;   
    • 正则表达式修饰符

      • i - 修饰符是用来执行不区分大小写的匹配。
      • g - 修饰符是用于执行全文的搜索(而不是在找到第一个就停止查找,而是找到所有的匹配)。
    • 方法:

      • test()方法搜索字符串指定的值,根据结果并返回真或假。
        var patt1=new RegExp("e");
        document.write(patt1.test("The best things in life are free"));  //true
      • exec() 方法检索字符串中的指定值。返回值是被找到的值。如果没有发现匹配,则返回 null。
        var patt1=new RegExp("e");
        document.write(patt1.exec("The best things in life are free"));    //e
    • 修饰符:

      修饰符用于执行区分大小写和全局匹配
      修饰符描述
      i 执行对大小写不敏感的匹配。
      g 执行全局匹配(查找所有匹配而非在找到第一个匹配后停止)。
      m 执行多行匹配。


    • 方括号:

      方括号用于查找某个范围内的字符:
      表达式描述
      [abc] 查找方括号之间的任何字符。
      [^abc] 查找任何不在方括号之间的字符。
      [0-9] 查找任何从 0 至 9 的数字。
      [a-z] 查找任何从小写 a 到小写 z 的字符。
      [A-Z] 查找任何从大写 A 到大写 Z 的字符。
      [A-z] 查找任何从大写 A 到小写 z 的字符。
      [adgk] 查找给定集合内的任何字符。
      [^adgk] 查找给定集合外的任何字符。
      (red|blue|green) 查找任何指定的选项。
    • 元字符:

      元字符(Metacharacter)是拥有特殊含义的字符:
      元字符描述
      . 查找单个字符,除了换行和行结束符。
      w 查找单词字符。
      W 查找非单词字符。
      d 查找数字。
      D 查找非数字字符。
      s 查找空白字符。
      S 查找非空白字符。
       匹配单词边界。
      B 匹配非单词边界。
      查找 NUL 字符。
      查找换行符。
      f 查找换页符。
      查找回车符。
      查找制表符。
      v 查找垂直制表符。
      xxx 查找以八进制数 xxx 规定的字符。
      xdd 查找以十六进制数 dd 规定的字符。
      uxxxx 查找以十六进制数 xxxx 规定的 Unicode 字符。
    • 量词

      量词描述
      n+ 匹配任何包含至少一个 n 的字符串。
      n* 匹配任何包含零个或多个 n 的字符串。
      n? 匹配任何包含零个或一个 n 的字符串。
      n{X} 匹配包含 X 个 n 的序列的字符串。
      n{X,Y} 匹配包含 X 或 Y 个 n 的序列的字符串。
      n{X,} 匹配包含至少 X 个 n 的序列的字符串。
      n$ 匹配任何结尾为 n 的字符串。
      ^n 匹配任何开头为 n 的字符串。
      ?=n 匹配任何其后紧接指定字符串 n 的字符串。
      ?!n 匹配任何其后没有紧接指定字符串 n 的字符串。
    • RegExp对象方法

      方法描述FFIE
      compile 编译正则表达式。 1 4
      exec 检索字符串中指定的值。返回找到的值,并确定其位置。 1 4
      test 检索字符串中指定的值。返回 true 或 false。 1 4
      关于compile方法:
      • 功能说明:该方法可以编译指定的正则表达式,编译之后的正则表达式执行速度将会提高,如果正则表达式多次被调用,那么调用compile方法可以有效的提高代码的执行速度,如果该正则表达式只能被使用一次,则不会有明显的效果。 
      • 基本语法:objReg.compile(pattern[,flag]) 
        • objReg必选项,RegExp对象变量的名称 
        • pattern必选项 正则表达式
        • flag 可选项 匹配选项 。 可选组合有:
          • g(全局搜索)
          • i(忽略大小写)
          • m(多行搜索)
      • 使用compile方法还可以对指定的正则表达式进行修改并且重新编译,提高了正则表达式的适应性!

    • 支持正则表达式的String对象方法

      方法描述FFIE
      search 检索与正则表达式相匹配的值。 1 4
      match 找到一个或多个正则表达式的匹配。 1 4
      replace 替换与正则表达式匹配的子串。 1 4
      split 把字符串分割为字符串数组。 1 4

    参考: 

    JavaScript RegExp 对象

    JavaScript RegExp 对象参考手册

    compile 方法(正则表达式)(JavaScript)

  • 相关阅读:
    通过理解List和IList的区别,加深对接口回调的理解
    mysql学习笔记之mysqlparameter(摘)
    MSSQL表中字段更新后,视图中的字段不更新的解决办法
    如何设置firefox,使其可以支持剪贴板
    CSS图片下载器
    VS2008下.NET 单元测试工具 NUnit2.5 配置与集成方法
    discuz x1.5通过uchome注册后免激活补丁(自动激活)
    (转)七秘诀工作效率与薪水翻番
    TRIGGER OF ORACLE
    SQL LOADER 的使用
  • 原文地址:https://www.cnblogs.com/haoyijing/p/5827588.html
Copyright © 2011-2022 走看看