Adr*_*mew 1 regex sublimetext3 atom-editor
我想使用Atom或Sublime(最好是Atom)中的regex查找/替换函数,将所有出现的特定数值集替换为其各自的标量倍数。
例如,转换
headerContainer: {
fontSize:'1em',
padding: '1.5rem',
},
Run Code Online (Sandbox Code Playgroud)
至
headerContainer: {
fontSize: 16,
padding: 24,
},
Run Code Online (Sandbox Code Playgroud)
我的正则表达式发现:
(')([\d.]+)r?em(')
Run Code Online (Sandbox Code Playgroud)
我的正则表达式替换可能性:
$2 \* 16
Run Code Online (Sandbox Code Playgroud)
正如您对问题的评论中提到的那样,仅通过正则表达式查找和替换是不可能直接实现的,但是在使用内置功能的Sublime Text(如果具有类似功能,则可能是Atom)中,这是不可能的。
要在Sublime中执行此操作,您需要结合使用a Find All选择所有文本,并使用内置Arithmetic命令更改选择。该Arithmetic命令的工作原理可以在此答案中找到,因此在此不做介绍。
要在这里执行您想要的操作,请执行以下操作:
使用Find面板(或该Replace面板)搜索regex '[\d.]+r?em',但是单击Find All面板中的按钮,这将选择缓冲区中的所有匹配项。
使用Arithmetic命令面板中的命令并输入表达式round(float(x.strip("'rem"))*16),然后按Enter键运行命令。
此处的表达式x通过删除单引号和字符来修改选定的文本()rem,将结果字符串转换为浮点值,进行乘法运算,然后四舍五入。
结果是这样的:
| 归档时间: |
|
| 查看次数: |
160 次 |
| 最近记录: |