#css #regex #colors
#css #регулярное выражение #Цвет
Вопрос:
^(#[0-9a-f]{3}|#(?:[0-9a-f]{2}){2,4}|(rgb|hsl)a?((-?d %?[,s] ){2,3}s*[d.] %?))$
Я использовал это регулярное выражение ранее, но теперь спецификация изменилась, и rgb поддерживает systax, разделенный пробелом, а также (/ 20%) для альфа-значения. Я не разбираюсь в регулярных выражениях. Итак, кто-нибудь может мне с этим помочь?
Которые поддерживают новый формат, а также поддерживают форматы lch и cmyk.
Комментарии:
1. Чтобы получить помощь, пожалуйста, помогите нам, предоставив образцы для ввода и вывода
2. Я уже предоставил предыдущее регулярное выражение, которое я использую, которое поддерживает синтаксис, подобный
rgba(20, 30, 100, .3)
, но мне это нужно, а также новая поддержка синтаксиса css color level 4, напримерrgb(20 30 100 / 20%)
. Вот и все.3. @susanta96 нам нужно больше примеров, чем просто
rgba(20, 30, 100, .3)
andrgb(20 30 100 / 20%)
, вы также упомянули lch и cmyk, но нет примеров для них??
Ответ №1:
Не очень хорошо сформулированный и продуманный вопрос, но этого регулярного выражения должно быть достаточно для ответа на вопрос и быть достаточно для того, что вам нужно:
(?:(rgba?|hsla?|lch|lab|cmyk)((-?s*d*.?d*s*(?:[%]|deg)?)s*,?s*(-?s*d*.?d*s*(?:[%]|deg)?)s*,?s*(-?s*d*.?d*s*(?:[%]|deg)?)s*[,/]?s*(-?s*d*.?d*s*(?:[%]|deg)?))|#[da-fA-F]{6}|#[da-fA-F]{3})