RegEx para remover todos os estilos, mas deixar cor e cor de fundo, se existirem

Eu ainda não consigo usar expressões regulares de cor, portanto não encontrei uma solução final para remover todos os estilos de <p style = ""> ... </ p> usando RegEx com Javascript, masdeixar cor e cor de fundo, se existirem.

O que eu encontrei:

1. Remova o elemento complete style = "..." com o RegEx:

htmlString = (htmlString).replace(/(<[^>]+) style=".*?"/i, '');


2. Remover certos estilos com RegEx:

htmlString = (htmlString).replace(/font-family\:[^;]+;?|font-size\:[^;]+;?|line-height\:[^;]+;?/g, '');


Desafio: No caso, removemos todos os estilos atribuídos (não existe cor) e o estilo está vazio (temos estilo = "" ou estilo = ""), o atributo de estilo também deve ser removido.

Eu acho que precisamos de duas linhas de código?

Qualquer ajuda apreciada!


Exemplo 1 (a "cor" na lista de permissões sobrevive):

<p style="font-family:Garamond;font-size:8px;line-height:14px;color:#FF0000;">example</p>

Deve se tornar:

<p style="color:#FF0000;">example</p>

Exemplo 2 (todos os estilos morrem):

<p style="font-family:Garamond;font-size:8px;line-height:14px;">example</p>

Deve se tornar:

<p>example</p>

questionAnswers(1)

yourAnswerToTheQuestion