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