javascript - 如何在正则替换时,对匹配部分进行算术运算?

查看:148
本文介绍了javascript - 如何在正则替换时,对匹配部分进行算术运算?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

问 题

.banner{
    min-height: 164px;
    img{
      width:100%;
    }
  }
div.search{
  width:100%;
  height:45px;
  padding:5px 15px 0;
  div.col-xs-9{
    padding-right: 0
  }

我想在sublime中把所有px转化为rem,这时就需要把原来所有像素前面的数字都除以100,比如164px变成1.64rem;45px变成0.45rem;想利用ctrl+h直接进行正则替换,但却不知道怎么在正则中进行算术运算?

以下是我的尝试

这样肯定是不行的,比如164px会替换为164/100rem

请问Replace Witch部分怎么写?还是说正则无法进行算术运算??那这个问题有什么解决办法呢?

解决方案

我一般这么干,打开CHROME 控制台 → Source → Snippets(左边)
新建一个snippets,输入以下代码:

`
.banner{
    min-height: 164px;
    img{
      width:100%;
    }
  }
div.search{
  width:100%;
  height:45px;
  padding:5px 15px 0;
  div.col-xs-9{
    padding-right: 0
  }
`.replace(/\d+px/g, function(match){
    return parseInt(match) / 100 + 'rem'
})

ctrl+enter / 右键 run

如果你的chrome比较旧,就到elements写个<textarea id="code"></textarea>,然后code.value.replace...

更多关于replace的用法看这里:JavaScript replace(RegExp, Function)详解

这篇关于javascript - 如何在正则替换时,对匹配部分进行算术运算?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆