• js 正则表达式


    1首选正则表达式的形式有两种

    (1).第一种  new RegExp("ada","igm");其中"ada"表示要匹配的形式,"igm"表示的是i(忽略大小写),g(全局匹配),m(多行匹配)。

    (2).第二种 /adajsk/ig;

    2.正则的两种校验方法:test,exec。注意这两种方法是正则的方法

    <script>
    var pattern=/box/ig;
    var string=this is a Box  ,this is a tom;
    pattern.test(string);
    </script>

    结果返回true或者false;且注意只要匹配到了就行,同理exec也是一样,但是需要注意exec返回值是第一次匹配到的元素,上述用exec会返回Box;如果我们使用了分组的话,会返回一个数组,数组中第一个值是匹配到的内容,第二个是分组中的值

    例如

    <script>
    var pattern=/8(.*?)7/g;
    var string="8abc7def8ghi7";
    alert(pattern.exec(string)/;
    </script>

         首先只会校验最开始符合的那个,也就是"8abc7";然后返回值是一个数组,数组第一个值是"8abc7"第二个数是abc(分组中的值);

    (3).同理对于字符串也有几个方法(match,replace,search,split);

    首先来讲一下match,这个函数会匹配到所有的满足的字符串,然后放到一个数组中返回出来

    <script>
    var pattern=/8(.*?)7/ig;
    var string="8abc7dec8efg7";
    alert(string.match(pattern);

    返回8abc7,8efg7。

    2).replace函数将匹配到的字符串替换成其他字符串。

    一般的情况下,我们都是讲匹配到的字符串转换成某一个字符串.

    <script>
    var pattern=/8(.*?)7/g;
    var string="8abc7def8ghi7";
    alert(string.replace(pattern,"1");
    </script>

    结果为"1def1".是将所有匹配到的都转换成"1";

    这个地方我们要深挖一下了,如何将匹配到的字符串转化成其他不同的几样字符串呢?

    例如

    <script>
    var s=["1","2"];
    var i=0;
    var pattern=/8(.*?)7/g;
    var string="8abc7def8ghi7";
    alert(string.replace(pattern,function(){
              return s[i++];
    });
    </script>

    结果为"1def2";

    其实replace函数内部是有一个循环的,每次找到一个符合要求的字符串,就执行后面的函数一下。所以可以用一个变量i来表示第几次找到。

  • 相关阅读:
    Nginx 413 Request Entity Too Large
    tp U函数 logs
    div + css 边框 虚线
    html+css判断各个IE浏览器版本
    win7 cmd 常用命令
    mysql 常用命令
    ThinkPHP学习(二)理清ThinkPHP的目录结构及访问规则,创建第一个控制器
    将字符串 由一个字符集 转成 另一个字符集 及 随机生成中文
    Sublime Text 3 中实现编译C语言程序
    C语言入门
  • 原文地址:https://www.cnblogs.com/yuaima/p/5248518.html
Copyright © 2020-2023  润新知