zoukankan      html  css  js  c++  java
  • javascript正则表达式

    一、创建正在表达式

         其创建方式有两种,一种是new关键字,另一种是字面量方式
        1.new关键字
          var regexp=new RegExp('box');
          alert(regexp);//返回结果为/box/,两个反斜杠就是正则表达式的字面量表示法
          var regexp=new RegExp('box','ig'); //第二个参数可选,模式修饰符
          alert(regexp);
           模式修饰符的表格
        
     
        2.字面量方式(比较常用)
            var regexp=/box/; //字面量方式
            alert(regexp);
            var regexp=/box/ig; //字面量方式     ,第二个参数可选,模式修饰符
            alert(regexp);
    二、测试正则表达式
       正则表达式对象中的有两个方法。一个是test(),另外一个是exec().
        1.test(),在字符串中测试模式匹配,返回true或false
           a.采用的是new关键字的test()
     
             var regexp=new RegExp('box');
            var str="Box";
            alert(regexp.test(str)); //返回false,大小写不一致
            var regexp=new RegExp('box',"i");
            var str="Box";
            alert(regexp.test(str)); //返回true,有了i模式修饰符之后就会忽略大小写了
           b.采用字面量的test()
     
          var regexp=/box/;
          var str="Box";
          alert(regexp.test(str)); //返回false,大小写不一致
          var regexp=/box/i;
          var str="Box";
          alert(regexp.test(str));//返回true,有了i模式修饰符之后就不区分大小写了
          c.一句话形式
     
           alert(/box/i.test("Box"));
          说明:
           
          
         2.exec(),在字符串中执行匹配搜索,返回结果数组  
     
          var regexp=/box/i;
          var str="Box";
          alert(regexp.exec(str));
          alert(typeof regexp.exec(str));// 返回的数组 ,有就返回数组的值,没有就返回null
    三、使用字符串的正则表达式方法(以下方法是存在于字符串中的,是通过字符串对象去使用.符号调用
         1.使用match方法获取匹配数组
            var str="This is a box!That is a box";
            var regexp=/Box/i;  //没有开启全局匹配
            alert(str.match(regexp)); //所以只返回了第一个box
     
            var str="This is a box!That is a box";
            var regexp=/Box/ig;  //g开启全局匹配
            alert(str.match(regexp)); //所以返回两个box,以数组格式打印出来
         2.使用search()来查找匹配数据
           var str="This is a box!That is a box";
           var regexp=/Box/i;
    //返回第一个匹配的位置,注意:查找第一个位置匹配就立刻返回,所以g模式修饰符的全局匹配就没有用了
           alert(str.search(regexp));//如果找不到就返回-1
         3.split()拆分成字符串数组
          var str="This is a box!That is a box";
          var regexp=/!/ig;
          alert(str.split(regexp));//以!为分割点,返回数组,结果为This is a box,That is a box
    四、RegExp对象的静态属性
        
        var regexp=/google/i;
        var str="This is a Google!";
         regexp.test(str);
         alert(RegExp.input);
         alert(RegExp["$`"]);   //或者RegExp.leftContext;这两个效果相同
         multiline是否支持多行
    五、RegExp对象的实例属性
        
        var regexp=/google/i;
        alert(regexp.global);   //正则对象是否设置了g(全局匹配)
    lastIndex可以自己赋值


         
  • 相关阅读:
    apache2三种模式及切换到event模式
    MySQL添加用户、创建数据库、分配权限
    ExcelHelper导出
    C#中将错误写进日志文件
    k3 cloud金蝶云参数设置云之家集成,提示无法推送企业消息
    k3 cloud中用视图类型来展示数据
    k3 cloud python 插件实现点击对应的单据编号打开单据
    k3 cloud单据转换的表
    sql server查询某个表对应的触发器
    QPainter::begin: Paint device returned engine == 0, type: 3
  • 原文地址:https://www.cnblogs.com/tangyue/p/3684172.html
Copyright © 2011-2022 走看看