1

次のような文字列があります。

style="background-color: red; color: green;"

また、(CSS) 文字列のプロパティを次の正規表現に置き換えていました。

color: ([a-zA-Z0-9\.]*)

ここに画像の説明を入力

ここでの問題は、背景色にも一致することですが、色のみに一致させたいです。

(これを使用して、プロパティの値を置き換えています)

4

3 に答える 3

1
(?:^|[^\-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カバーされるよりも広い値空間があることに注意してください。ただし、これはあなたの質問ではありません。 #fffrgb(0,100,255)rgba(...)hsla(...)

于 2013-07-30T06:52:11.530 に答える
1

これを試して:

/[\;\"\']{1}[\s]{0,1}color:[\s]{0,1}([a-zA-Z0-9\.]*)/ims
于 2013-07-30T06:48:08.657 に答える
1

完全に一致する単語を探しています。これを試して

/^color: ([a-zA-Z0-9\.]*)$/
于 2013-07-30T06:50:27.000 に答える