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/

相关文章:

javascript - CSS 在容器内旋转元素

用于验证名字和姓氏的 PHP 正则表达式

html - CSS 帮助定位 div 内联

javascript - 如何定义CSS :hover state in a jQuery selector?

regex - 如何在vim中匹配十进制字母和空格?

python - python 和 regex 模块如何处理反斜杠?

正则表达式匹配任何大于 1 的整数

python-3.x - 根据现有列中的值创建新列

css - Chrome 3D CSS 转换交叉点无法正确呈现

javascript - 如何隐藏容器中的 DIV 类以及同一容器中的另一个 div?使用 jQuery