【发布时间】:2019-02-16 14:56:45
【问题描述】:
我想使用 Atom 或 Sublime(最好是 Atom)中的正则表达式查找/替换函数,用它们各自的标量倍数替换所有出现的特定数值。
例如,转换
headerContainer: {
fontSize:'1em',
padding: '1.5rem',
},
到
headerContainer: {
fontSize: 16,
padding: 24,
},
我的正则表达式发现:
(')([\d.]+)r?em(')
我的正则表达式替换可能性:
$2 \* 16
【问题讨论】:
-
这是什么语言?
-
@sean 这是在 IDE 中 也许将它的一部分更改为 (\d+\.\d*)r?em - 不确定 ') 和 (' 在做什么。这可能是 IDE 特定的正则表达式。我知道你想删除引号。但通常我会用 Python/JavaScript 之类的名称捕获组来做事
-
@JGFMK—不,我问的是代码是什么语言,因为它不是 CSS
-
您不能在字符串替换模式中进行数学运算。您需要一种可以访问回调的成熟语言。 Python 在这里可能是最简单的。
-
@AdrianBartholomew 您不能期望匹配
2并将其替换为*16(32) 的结果。您只能对此类替换进行硬编码。在 Notepad++ 中,你可以使用 Python Script 插件来做你想做的事,但是一个普通的 Python scipt 会更好。
标签: regex sublimetext3 atom-editor