Как конвертировать em / rem в px? - PullRequest
0 голосов
/ 13 марта 2019

У меня есть следующий скрипт, который конвертирует 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. Пожалуйста, помогите мне в этом.

Ответы [ 2 ]

1 голос
/ 13 марта 2019

Вы не соответствуете дробной части:

  • соответствует целочисленной части (одна или несколько цифр `\ d +)
  • соответствует необязательно дробной части
    • соответствует точке (\.)
    • соответствует дробной части (одна или несколько цифр \d+)
$ echo '2.25em 2em' | perl -pe 's/(\d+(?:\.\d+)?)em/($1*16).px/ge'
36px 32px
0 голосов
/ 13 марта 2019

Вместо этого вы можете использовать группу символов []

perl -p -i -e 's/(\d[\d\.]*)px/($1\/16).em/ge'
perl -p -i -e 's/(\d[\d\.]*)em/($1*16).px/ge'
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...