正则学习

一 前言

  1. 正则是一种特殊的字符串模式,用于匹配一组字符串。
  2. 常用工具

二 正则实际应用

  1. 截取后台json字符串,例如获取北京西城区,代码如下,
    var obj = {
      "id": "402881882ba8753a012ba8bff6f6001e",
      "name": "西城区",
      "displayName": "北京西城区",
      "path": "402881882ba8753a012ba8bf474d001c,402881882ba8753a012ba8bff6f6001e",
      "grade": 1,
      "orderList": 0,
      "areaCode": null
    };
    function execData (obj) {
      obj = typeof obj =="object" ? JSON.stringify(obj) : obj;
      var str, cityStr;
      // 将后台数据转换成JSON字符串
      // 把所有的引号都变成单引号,但是会出现有\的情况,将\全局替换
      str = obj.replace(/\"/ig,"'").replace(/\\/g, "");
      // 获得正则匹配后的数据
      cityStr = str.replace(/.*displayName\'\:\'([\u4E00-\u9FA5]+).*'\,.*/, "$1");
      return cityStr;
    }
    console.log(execData(obj));

2.工作中遇到需要知道编辑器上传了多少个音视频附件的问题(百度编辑器)

    var str = '<p style="line-height: 16px;"><img style="vertical-align: middle; margin-right: 2px;" src="http://172.16.6.130:8080/oxer/resources/ots/resources/newAssets/fileupeditor/dialogs/attachment/fileTypeImages/icon_mp3.gif"/><a style="font-size:12px; color:#0066cc;" href="/oxer/datafiles/ots/@tenant/file/2017/0724/1500880448088053653.mp3" title="1.mp3">1.mp3</a></p><a style="font-size:12px; color:#0066cc;" href="/oxer/datafiles/ots/@tenant/file/2017/0724/1500880448088053653.rar" title="1.rar">1.mp3</a><p style="line-height: 16px;"><img style="vertical-align: middle; margin-right: 2px;" src="http://172.16.6.130:8080/oxer/resources/ots/resources/newAssets/fileupeditor/dialogs/attachment/fileTypeImages/icon_rar.gif"/><a style="font-size:12px; color:#0066cc;" href="/oxer/datafiles/ots/@tenant/file/2017/0724/1500880461783006922.zip" title="audiojs-master.zip">audiojs-master.zip</a></p><p><br/></p>';
    // 拿到的是href="/oxer/datafiles/ots/@tenant/file/2017/0724/1500880448088053653.mP3"
    var patt1 = new RegExp(/(href\=".+?")/, "ig");
    // 拿到的是/oxer/datafiles/ots/@tenant/file/2017/0724/1500880448088053653.mP3,正好是我所需的播放地址
    var patt2 = new RegExp(/href\="(.+?)"/, "ig");
    var aa = str.match(patt1);
    for (var i = 0, len = aa.length; i < len; i++) {
      console.log(aa[i]);
    }

3.匹配emoj

var str = "*#emo_01#*啥的公司地方官史蒂夫*#emo_02#*撒阿道夫";
    str = str.replace(/\*#(.*?)#\*/g, function () {
      var _arg1 =arguments[1];
      return '<img src="./images/ios/'+_arg1+'">';
    });
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值