Alterações # 5e342f -> # 5E342F ou #efe -> #EFE
/#[0-9a-f]{6}|#[0-9a-f]{3}/U&/g
Quebrando isso
Tudo começa com #
[0-9a-f]
é a gama de caracteres
{6}
significa que deve haver exatamente 6 ocorrências do padrão
NOTA : Estamos sendo mais seletivos primeiro, pois se a string não tiver 6 caracteres, pode ter apenas 3.
|
é o pivô na pesquisa, é VIM regex para OR.
Então #
, [0-9a-f]
como antes.
{3}
captura aqueles casos estranhos onde o código de cor tem apenas 3 caracteres e se repete (por exemplo, # 3f3 ou #fff).
U
Altera todos os caracteres alfabéticos para maiúsculas.
&
Aplica- U
se a todo o padrão.