Css 如何将em/rem转换为px?
我有一个将px转换为em的脚本: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+) 可选地匹配小数部分 匹配点(\.) 匹配小数部分(一个或多个
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'