css - 如何将 em/rem 转换成 px?

标签 css regex perl find-replace

我有一个将 px 转换为 em 的脚本:

perl -p -i -e 's/(\d+)px/($1\/16).em/ge' stylesheet.css

但是,当我调整它以将 em 转换为 px 时,它无法正常工作:

perl -p -i -e 's/(\d+)em/($1*16).px/ge' stylesheet.css

它将 2.25em 转换为 2.400px。请帮我解决这个问题。

最佳答案

您没有匹配小数部分:

  • 匹配整数部分(一个或多个数字`\d+)
  • 可选地匹配小数部分
    • 匹配点 (\.)
    • 匹配小数部分(一个或多个数字\d+)
$ echo '2.25em 2em' | perl -pe 's/(\d+(?:\.\d+)?)em/($1*16).px/ge'
36px 32px

关于css - 如何将 em/rem 转换成 px?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/55135126/

相关文章:

html - 显示带有口号而不是文本的图像并且仍然具有正确的 HTML 结构的正确方法是什么?

regex - 捕获每行的前 n 个字符

.net - RegEx忽略.net中带引号的字符串中的文本

jquery - 更改 jquery 移动 ListView 背景颜色

css - 如何在 UIWebView 中使用 CSS?

c# - 用于在另一个字符串中查找部分字符串的正则表达式

linux - 如何在不损坏系统安装的情况下安装更新的 Perl?

perl - 如何在 Perl 模块中包含日志记录?

perl - 为什么 Perl 和/bin/sha1 给出不同的结果?

html - 如何使用 twitter bootstrap 减少输入之间的空间?