• 工信部:17年12批新能源车推荐车型目录 2019-05-11
  • 美国再挑贸易战,中方强力回击,全球市场跌声一片 2019-05-11
  • 四川都江堰再现野生大熊猫踪迹 比3月拍到的更肥 2019-05-10
  • 坚持和发展马克思主义的宣言书 2019-05-10
  • 解析视频播控平台黑产链 20元看12家网站VIP会员视频 2019-04-26
  • 众星云集 “欧洲红魔”能否用战绩兑现黄金一代的天赋 2019-04-26
  • 比如最高检的12309检查服务中心,原来还有显示信访处理进程,不过没有几天就取消了。[上火][上火] 也就是说办与不办也没有人知道,下边省事了,上边也就轻松了。 2019-04-16
  • 男女差别有多大?河北省首次公开发布分性别统计分析报告 2019-04-05
  • 菲律宾媒体和网民热议"中国剧场"开播 2019-04-05
  • 坚持和完善我国基本经济制度的两条新经验 2019-04-02
  • 5月份61城房价环比反弹 多地调控政策或再加码 ——凤凰网房产济南 2019-04-02
  • [洞见]草榴死了 欲望还活着草榴性 2019-04-02
  • 回顾:五年来习近平的“两会金句” 2019-04-02
  • 云南省2018年度国家社科基金项目申报工作的几点做法 2019-04-01
  • 地理君的专栏作者中国国家地理网 2019-04-01

    河北福彩二十选五:正则表达式提取指定字符之间字符串

    燕赵风采20选5走势图 www.fllv.net 2018-8-5 00:27| 作者: admin| 查看: 3292| 评论: 0|来自: 蚂蚁部落

    分享一段代码实例,它实现提取指定字符之间字符串的功能。

    代码实例如下:

    [JavaScript] 纯文本查看 复制代码运行代码
    let encodeReg=(source)=>{
      return String(source).replace(/([.*+?^=!:${}()|[\]/\\])/g,'\\$1');
    }
    let getInnerString = (source, prefix, postfix) => {
      let regexp = new RegExp(encodeReg(prefix) + '.+' + encodeReg(postfix), 'gi');
      let matches = String(source).match(regexp);
    
      let  func=(elem)=>{
        return elem.replace(prefix, '').replace(postfix, '');
      }
      let arr=matches.map(func)
      return arr;
    }
    let str = "蚂蚁部落欢迎您";
    console.log(getInnerString(str,"蚂","您"));

    上面代码实现了预期效果,下面介绍一下它的实现过程。

    一.代码注释:

    [JavaScript] 纯文本查看 复制代码
    let encodeReg=(source)=>{
      return String(source).replace(/([.*+?^=!:${}()|[\]/\\])/g,'\\$1');
    }

    对字符串中可能影响正则表达式匹配的特殊字符进行转义,比如"\"转换为"\\"。

    [JavaScript] 纯文本查看 复制代码
    let getInnerString = (source, prefix, postfix) => {
      // code
    }

    此方法实现了获取指定字符间字符串的功能,返回值是存储指定字符之间字符串的数组。

    [JavaScript] 纯文本查看 复制代码
    let regexp = new RegExp(encodeReg(prefix) + '.+' + encodeReg(postfix), 'gi');

    创建一个正则表达式对象,它能够匹配两个指定字符串和它们之间的字符串。

    [JavaScript] 纯文本查看 复制代码
    let matches = String(source).match(regexp);

    进行匹配操作,返回值是一个数组。

    [JavaScript] 纯文本查看 复制代码
    let  func=(elem)=>{
      return elem.replace(prefix, '').replace(postfix, '');
    }

    将两端的字符替换为空,只保留指定字符串之间的字符串。

    [JavaScript] 纯文本查看 复制代码
    let arr=matches.map(func)

    对数组进行遍历操作。

    二.相关阅读:

    (1).replace()参阅正则表达式replace()一章节。

    (2).RegExp()参阅正则表达式创建一章节。

    (3).match()参阅正则表达式match()一章节。

    (4).map()参阅JavaScript map()一章节。

    最新评论

    返回顶部
  • 工信部:17年12批新能源车推荐车型目录 2019-05-11
  • 美国再挑贸易战,中方强力回击,全球市场跌声一片 2019-05-11
  • 四川都江堰再现野生大熊猫踪迹 比3月拍到的更肥 2019-05-10
  • 坚持和发展马克思主义的宣言书 2019-05-10
  • 解析视频播控平台黑产链 20元看12家网站VIP会员视频 2019-04-26
  • 众星云集 “欧洲红魔”能否用战绩兑现黄金一代的天赋 2019-04-26
  • 比如最高检的12309检查服务中心,原来还有显示信访处理进程,不过没有几天就取消了。[上火][上火] 也就是说办与不办也没有人知道,下边省事了,上边也就轻松了。 2019-04-16
  • 男女差别有多大?河北省首次公开发布分性别统计分析报告 2019-04-05
  • 菲律宾媒体和网民热议"中国剧场"开播 2019-04-05
  • 坚持和完善我国基本经济制度的两条新经验 2019-04-02
  • 5月份61城房价环比反弹 多地调控政策或再加码 ——凤凰网房产济南 2019-04-02
  • [洞见]草榴死了 欲望还活着草榴性 2019-04-02
  • 回顾:五年来习近平的“两会金句” 2019-04-02
  • 云南省2018年度国家社科基金项目申报工作的几点做法 2019-04-01
  • 地理君的专栏作者中国国家地理网 2019-04-01
  • 北京pk10直播 高频彩票杀号 pk10绝密公式算单双 体彩顶呱刮切西瓜 上海时时乐杀两码组合 3d321期试机号 海南飞鱼体彩 上海时时乐开奖结果走势图 河南快3 268期排列5中奖号 上海时时彩app下载 福彩双色球开奖号码 新时时彩单双技巧 七乐彩083 彩票图表走势图表 排列五基本走势图