我有一个看起来有点像这样的字符串:
style="background-color: red; color: green;"
我曾经用以下正则表达式替换我的(CSS)字符串的属性:
color: ([a-zA-Z0-9\.]*)
这里的问题是,它也会匹配背景颜色,但我希望它只匹配颜色。
(我用它来替换属性的值)
我有一个看起来有点像这样的字符串:
style="background-color: red; color: green;"
我曾经用以下正则表达式替换我的(CSS)字符串的属性:
color: ([a-zA-Z0-9\.]*)
这里的问题是,它也会匹配背景颜色,但我希望它只匹配颜色。
(我用它来替换属性的值)
尝试这个:
/[\;\"\']{1}[\s]{0,1}color:[\s]{0,1}([a-zA-Z0-9\.]*)/ims
您正在寻找完全匹配的单词。尝试这个
/^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(...)
),但这不是您的问题。