正则表达式常用方法

<script>
    var str = 'asdf 34 656 cvs33';
    console.log(str.match(3).index);//匹配返回3的小标索引 如果找不到返回 null
    console.log(str.replace('a','k'));//把字符串里的a替换成k

    /*********************************************************/
    //查找字符串中所有的数字,存到数组中
    var str1 = '12 hhh 98 hh45 h3 122 -+gg50';
    //方法一:
    console.log(str1.match(/\d+/g));//+若干个,g全局匹配
    //方法二:
    var arr = [];
    var step = '';
    for (var i = 0; i < str1.length; i++) {
      if (str1.charAt(i) >= '0' && str1.charAt(i) <= 9) {
        step += str1.charAt(i);
      } else {
        if (step) {
          arr.push(step);
          step = '';
        }
      }
    }
    if (step) {//把50推进去
      arr.push(step);
      step = '';
    }

     /*********************************************************/
     js正则表达式
     1.通过构造函数定义js风格
     var 变量名 =new RegExp(/表达式/);
     2.通过直接变量定义(较为常用)perl风格
     var 变量名 = /表达式/
     
     /*********************************************************/
      var str2 = 'aBcdef';
      var re = new RegExp(/b/);
      console.log(str2.search(re));//正则
      var re2 =  new RegExp('b','i');//i代表忽略大小写
      console.log(str.search(re2));//1

      var re3 = /b/i; //常用的写法
      console.log(str.search(re3));//1

      /*********************************************************/
      . [^\n\r] 除了换行和回车之外的任意字符(“”不行)
      \d [0-9] 数字字符
      \D [^0-9] 非数字字符

      \s [\t\n\xOB\f\r] 空白字符
      \S [^\t\n\xOB\f\r] 非空白字符

      \w [a-zA-Z_0-9] 单词字符:字母数字下划线
      \W [^a-zA-Z_0-9] 非单词字符

      /*********************************************************/

      元字符 []任意个都行
      [abc]ph //a或b或c开头
      例子: aph ,bph ,cph
      [0-9]范围
      例子:8
      \d: 一个数组 0 6 9
      [a-z] 任意个小写字母 b ,c,d
      [^5-9] 排除5,6,7,8,9这些数字

      量词:
      {n} 出现n次
      {n,m} 最少出现n次,最多出现m次
      {n,} 最少出现n次
      * 任意次
      ? 可有可无 0或1次

      比方:
      \d{8} :8个数字,八位数的数字 89642354
  </script>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值