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

    转帖一个js的语言留作备忘。

    代码
    一 javascript正则表达式的基本知识

    1 javascript 正则对象创建 和用法

    声明javascript 正则表达式

    var reCat = new RegExp("cat");
    你也可以
    var reCat = /cat/; //Perl 风格 (推荐)

    2 学习最常用的 test exec match search replace split 6个方法

    1) test 检查指定的字符串是否存在

    var data = "123123";
    var reCat = /123/gi;
    Alert(reCat.test(data));
    //true

    //检查字符是否存在 g 继续往下走 i 不区分大小写

    2) exec 返回查询值

    var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
    var reCat = /cat/i;
    Alert(reCat.exec(data));
    //Cat

    3)match 得到查询数组

    var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
    var reCat = /cat/gi;
    var arrMactches = data.match(reCat)

    for (var i=0;i < arrMactches.length ; i++)
    {
    Alert(arrMactches[i]);
    //Cat cat
    }

    4) search 返回搜索位置 类似于indexof

    var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
    var reCat = /cat/gi;
    Alert(data.search(reCat));
    //23


    5) replace 替换字符 利用正则替换

    var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
    var reCat = /cat/gi;
    Alert(data.replace(reCat,
    "libinqq"));

    6)split 利用正则分割数组

    var data = "123123,213,12312,312,3,Cat,cat,dsfsdfs,";
    var reCat = /\,/;
    var arrdata = data.split(reCat);

    for (var i = 0; i < arrdata.length; i++)
    {
    Alert(arrdata[i]);
    }

    3 学习下 简单类 负向类 范围类 组合类

    //简单类
    var data = "1libinqq,2libinqq,3libinqq,4libinqq";
    var reCat = /[123]libinqq/gi;
    var arrdata = data.match(reCat);

    for (var i = 0; i < arrdata.length; i++)
    {
    Alert(arrdata[i]);
    // 1libinqq 2libinqq 3libinqq
    }

    //负向类
    var data = "alibinqq,1libinqq,2libinqq,3libinqq,4libinqq"; //\u0062cf
    var reCat = /[^a123]libinqq/gi;
    var arrdata = data.match(reCat);

    for (var i = 0; i < arrdata.length; i++)
    {
    Alert(arrdata[i]);
    //4libinqq
    }

    //范围类
    var data = "libinqq1,libinqq2,libinqq3,libinqq4,libinqq5"; //\u0062cf
    var reCat = /libinqq[2-3]/gi;
    var arrdata = data.match(reCat);

    for (var i = 0; i < arrdata.length; i++)
    {
    Alert(arrdata[i]);
    // libinqq2 libinqq3
    }

    //组合类
    var data = "a,b,c,w,1,2,3,5"; //\u0062cf
    var reCat = /[a-q1-4\n]/gi;
    var arrdata = data.match(reCat);

    for (var i = 0; i < arrdata.length; i++)
    {
    Alert(arrdata[i]);
    // a b c 1 2 3
    }

  • 相关阅读:
    JDBC访问数据库的基本步骤是什么?
    Java 为每个原始类型提供了哪些包装类型:
    JDBC访问数据库的基本步骤是什么?
    String 类的常用方法都有那些?
    面向对象三大特性
    三个与取整有关的方法:
    ==和equals方法究竟有什么区别?
    &和&&的区别?
    说一说Servlet的生命周期
    spring框架学习
  • 原文地址:https://www.cnblogs.com/dba_xiaoqi/p/1852542.html
Copyright © 2011-2022 走看看