css - RegEx 搜索所有包含颜色代码的 CSS 行 |崇高文本 3

标签 css regex sublimetext3

我在 Sublime Text 中有一个包含约 4,000 行 CSS 的大文件。我想编写一个 RegEx 来搜索包含特定颜色代码(#48535B)的所有 CSS 规则的文件,这样我就可以将每个相应的 CSS 规则复制到另一个文件中,然后从原始文件中删除它们文件。什么是一个好的 RegEx 来完成这个?

例如,我的 CSS 规则格式如下:

a {
    color:#000;
    text-decoration:none
}
a:hover,a:focus {
    color:#999;
    text-decoration:underline
}

.model-selector-parallax .carousel-prev,
.model-selector-parallax .carousel-next,
.ddc-btn-primary,
.showroom-detail .hproduct .view-link,
.showroom-detail .callout .callout-button,
.pricing .ePrice .ddc-btn, .pricing .eprice-button,
.pricing .ddc-btn[data-eprice],
.mycars-favorites .hproduct .pricing .make-an-offer,
.locations-proximity {
        outline:thin dotted #48535B !important;
        outline:5px auto -webkit-focus-ring-color;
        outline-offset:-2px
    }

img {
    vertical-align:middle
}
.img-responsive {
    display:block;
    max-width:100%;
    height:auto
}
.img-rounded {
    border-radius:0px
}`

我希望 RegEx 找到包含“#48535B”的整个规则,并突出显示从规则开头到结束的 } 括号。所以在这种情况下,它会找到并突出显示(包括所有逗号分隔的类,即使它们在不同的行上):

.model-selector-parallax .carousel-prev,
.model-selector-parallax .carousel-next,
.ddc-btn-primary,
.showroom-detail .hproduct .view-link,
.showroom-detail .callout .callout-button,
.pricing .ePrice .ddc-btn, .pricing .eprice-button,
.pricing .ddc-btn[data-eprice],
.mycars-favorites .hproduct .pricing .make-an-offer,
.locations-proximity {
        outline:thin dotted #48535B !important;
        outline:5px auto -webkit-focus-ring-color;
        outline-offset:-2px
    }

此时,我可以复制所有结果并将它们粘贴到一个单独的文件中。

另外,一个 RegEx 可以避免匹配特定的颜色代码。因此,例如,如果我们试图避免匹配 48535B 并且我们有:

.navbar-default {
  -webkit-box-shadow:rgba(0,0,0,0.15) 0px 10px 10px;
  -moz-box-shadow:rgba(0,0,0,0.15) 0px 10px 10px;
  box-shadow:rgba(0,0,0,0.15) 0px 10px 10px;
  border-top:solid #f2f2f2;
  border-bottom:solid #48535B !important;
  border-width:2px 0 1px
}

RegEx 将查找并突出显示:

.ddc-navbar-default {
  -webkit-box-shadow:rgba(0,0,0,0.15) 0px 10px 10px;
  -moz-box-shadow:rgba(0,0,0,0.15) 0px 10px 10px;
  box-shadow:rgba(0,0,0,0.15) 0px 10px 10px;
  border-top:solid #f2f2f2;
  border-width:2px 0 1px
}

这意味着它会查找并突出显示除包含 48535B 的行之外的所有内容,包括不同行上的逗号分隔类。

任何帮助将不胜感激!

非常感谢!

最佳答案

我试过这个,它似乎有效:

[^{\n]+\{[^}]+#[0-9a-f]{6}[^}]+\}

不过,我不是正则表达式方面的专家。希望对你有用

对于逗号分隔的多行规则,这个似乎对我有用:

^[^{}]+\{[^}]+#[0-9a-f]{6}[^}]+\}

为避免匹配某些颜色代码:

^[^{}]+\{[^}]+#(?!code)[0-9a-f]{6}[^}]+\}

例如,这将不匹配ffffff:

^[^{}]+\{[^}]+#(?!ffffff)[0-9a-f]{6}[^}]+\}

关于css - RegEx 搜索所有包含颜色代码的 CSS 行 |崇高文本 3,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/44764933/

相关文章:

javascript - 当字符串位于注释中时,如何改进此正则表达式以使其不匹配

c# - 将 Markdown 转换为 HTML 的正则表达式

fonts - Sublime Text 默认字体是什么?

html - 我怎样才能做一个圆填充百分比?

python - 用长度相同的字符串替换RegEx

css - 在 svg 元素中设置 css

python - 自定义 'console.log' 插件 Sublime Text 3

python - Sublime Text 3-发送命令至Sublime Console

javascript - 用JS改变滚动时的颜色效果

javascript - 在 Yeoman 中使用 bourbon/bourbon neat 没有错误