我有大的css文件,需要正则表达式(Notepad ++)才能获得特定css值找到的元素和css选择器。在下面的示例中,我需要按值123456
header #objectnav nav a {
border-right: solid 1px #c0c0c0;
border-left: solid 1px #f4f9ff;
color: #123456;
}
a:hover {
color: #654321;
}
#hints .hint {
background-color: #f4f9ff;
border: 1px solid #e0f0ff;
color: #123456;
margin: 0 0 30px 0;
position: relative;
}
退出时我希望关注
header #objectnav nav a
color
#hints .hint
color
或者,如果可能的话
header #objectnav nav a^color
#hints .hint^color
答案 0 :(得分:1)
我这样做只是为了挑战:
以下正则表达式将查找包含文本123456
的所有规则作为值:
[^{}\s][^{}]*\{[^}]*?[-\w]+\s*:[^;}]*?123456[^}]*\}
但那只是一个基本的正则表达式。更具挑战性的部分是我想知道是否可以生成一个报告,例如你要求使用的除了Notepad ++之外的报告。事实证明这是可能的。
替换以下模式:
\s*([^{}]+?)\s*\{[^}]*?(?(?=([-\w]+)\s*:[^;}]*?123456)[^}]*|[^}])*\}\s*
使用以下替换字符串:
(?2$1^$2:)
或者这个取决于你喜欢的输出:
(?2$1\r\n$2\r\n\r\n:)
我没有对它进行过广泛的测试,但它适用于您提供的测试用例。