次のような文字列があります。
style="background-color: red; color: green;"
また、(CSS) 文字列のプロパティを次の正規表現に置き換えていました。
color: ([a-zA-Z0-9\.]*)
ここでの問題は、背景色にも一致することですが、色のみに一致させたいです。
(これを使用して、プロパティの値を置き換えています)
次のような文字列があります。
style="background-color: red; color: green;"
また、(CSS) 文字列のプロパティを次の正規表現に置き換えていました。
color: ([a-zA-Z0-9\.]*)
ここでの問題は、背景色にも一致することですが、色のみに一致させたいです。
(これを使用して、プロパティの値を置き換えています)
(?:^|[^\-0-9A-Za-z])color:\s*([a-zA-Z0-9\.]*)
(?:^|[^\-0-9A-Za-z])
テキストの先頭またはマイナス記号、数字、または文字以外の任意の文字 (これらは CSS プロパティ名の一部である可能性があります)に一致します。
color:
CSS プロパティ名と一致します。注: 大文字と小文字を区別せずに正規表現を適用することを検討してください
\s*
コロンの後の任意のスペースに一致
([a-zA-Z0-9\.]*)
CSS プロパティ値を照合して取得します。CSS プロパティには、この正規表現 (例: 、、 )でcolor
カバーされるよりも広い値空間があることに注意してください。ただし、これはあなたの質問ではありません。 #fff
rgb(0,100,255)
rgba(...)
hsla(...)
これを試して:
/[\;\"\']{1}[\s]{0,1}color:[\s]{0,1}([a-zA-Z0-9\.]*)/ims
完全に一致する単語を探しています。これを試して
/^color: ([a-zA-Z0-9\.]*)$/