css - 查找所有不以 ";"结尾的 CSS 规则的正则表达式

标签 css regex

我正在尝试编写正则表达式来查找 CSS 文件中末尾没有分号的所有规则:

.abc {
    height: 100%;
    margin: auto;
    text-align: center /* <-- like this one */
    width: 100%;
}

我试过这个 [^;\{\}]\n 但它没有从搜索中排除 {}。有什么想法吗?

最佳答案

您需要的是 CSS 解析器。

但是,如果这是一次性工作,并且您的正则表达式引擎支持 lookbehinds ,你可以使用这个正则表达式:

^.*(?<![;{}])$

可视化:

Debuggex.com

(?<![;{}])是一个否定的回顾,断言该行应该以不是 ; 的字符结尾, {} .

请注意,如果一个 CSS block 被多个类/id 使用,或者如果每个类/id 都由换行符分隔,则正则表达式远非完美且无法正确匹配。

RegEx Demo

关于css - 查找所有不以 ";"结尾的 CSS 规则的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25425872/

相关文章:

css - 如何在 Bootstrap 3 中垂直放置按钮

java - Java 中的正则表达式 - 提取某些符号之间的字符串

Javascript - 如何通过多个字符串进行搜索

css - 点击浏览器后退按钮时出现 IE CSS 问题

html - 内联 block parent - 不比 child 高?

html - css 如何在重置列表样式后强制 ul、ol 显示数字或光盘。?

php - 如何提取等号后的数据?

regex - 我可以在 SED 地址中乘以模式匹配来打印吗

python - 如何创建一个列来告诉我另一列是否包含字母数字值?

css - 使用 css hack 而不是 IE 条件样式表实际上有什么害处?