我有以下CSS代码:
#np-toolbar-l a{ position: relative; padding: 0px 8px; line-height: 30px; display: inline-block; font-size: 12px; }
#np-toolbar-l a:hover{ background-color: #EFEFEF; opacity: 0.7; }
#np-toolbar-l a *:hover{ cursor: pointer; }
/** Icon */
#np-toolbar [class^="icon-"]{ font-size: 18px; vertical-align: middle; margin-right: 5px; }
我正在尝试将np-toolbar
替换为另一个ID,
我只想匹配np-toolbar
而非 np-toolbar-l
或类似的内容,
这里有一个关于如何从CSS中捕获所有ID的重要信息:
#-?[_a-zA-Z]+[_a-zA-Z0-9-]*(?=[^}]*\{)
来源:Regex to match ids in a css file?
我无法找到如何通过正则表达式搜索“竞争ID”,
这是我的例子:(它仍然会计入np-toolbar-l
)
/(?<=(#|\.))(np-toolbar)+(?=( |:||\[))/
编辑:嗯,jsut在其后面添加了一些符号,
它看起来像我正在寻找的答案
/(?<=(#|\.))(np-toolbar)+(?=( |:|\[|\{|\.|,))/
答案 0 :(得分:0)
如果您正在寻找特定ID,则可以大大简化您的正则表达式:
/(#np-toolbar)(?=[{.,\s])/g
应该在CSS中的任何位置找到ID。它首先匹配ID,然后只允许{
(用于开始样式),,
(用于列出选择器),.
(用于附加类)或空格/制表符/换行符之后的字符,阻止它匹配np-toolbar-1
等ID。
答案 1 :(得分:0)
也许你可以试试这个正则表达式:
/#np-toolbar(?![-\w])/
表示:匹配所有&#34; #np-toolbar&#34;夹杂物如果包含并未以&#34; - &#34;或任何\ w符号