Css 如何将em/rem转换为px?

Css 如何将em/rem转换为px?,css,regex,perl,find-replace,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+) 可选地匹配小数部分 匹配点(\.) 匹配小数部分(一个或多个

我有一个将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.25em2em'| perl-pe's/(\d+(?:\。\d+))em/($1*16).px/ge'
36px 32px

您可以改用字符组[]

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

提示:25乘16等于多少?哦,糟了!它只转换了小数部分?你能帮我处理这个正则表达式吗?无法让它工作。我改进了答案,使分数部分可选。很高兴我能帮忙。
perl -p -i -e 's/(\d[\d\.]*)em/($1*16).px/ge'