正则学习
正则学习
litCabbage 发表于7个月前
正则学习
  • 发表于 7个月前
  • 阅读 2
  • 收藏 0
  • 点赞 0
  • 评论 0

腾讯云 技术升级10大核心产品年终让利>>>   

摘要: 正则在日常工作中,尤其是前端开发中是必不可少的一项技能,今天正好把正则给总结一下,方便以后自己的回顾与使用

一 前言

  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]);
    }
标签: 正则 学习
共有 人打赏支持
粉丝 0
博文 17
码字总数 9289
×
litCabbage
如果觉得我的文章对您有用,请随意打赏。您的支持将鼓励我继续创作!
* 金额(元)
¥1 ¥5 ¥10 ¥20 其他金额
打赏人
留言
* 支付类型
微信扫码支付
打赏金额:
已支付成功
打赏金额: