1

我有一个看起来有点像这样的字符串:

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

我曾经用以下正则表达式替换我的(CSS)字符串的属性:

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

在此处输入图像描述

这里的问题是,它也会匹配背景颜色,但我希望它只匹配颜色。

(我用它来替换属性的值)

4

3 回答 3

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 回答
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的值空间比此正则表达式所涵盖的范围更广(例如#fff, rgb(0,100,255), rgba(...), hsla(...)),但这不是您的问题。

于 2013-07-30T06:52:11.530 回答