我正在尝试编写正则表达式来查找 CSS 文件中末尾没有分号的所有规则:
.abc {
height: 100%;
margin: auto;
text-align: center /* <-- like this one */
width: 100%;
}
我试过这个 [^;\{\}]\n
但它没有从搜索中排除 {
和 }
。有什么想法吗?
最佳答案
您需要的是 CSS 解析器。
但是,如果这是一次性工作,并且您的正则表达式引擎支持 lookbehinds ,你可以使用这个正则表达式:
^.*(?<![;{}])$
可视化:
(?<![;{}])
是一个否定的回顾,断言该行应该以不是 ;
的字符结尾, {
或 }
.
请注意,如果一个 CSS block 被多个类/id 使用,或者如果每个类/id 都由换行符分隔,则正则表达式远非完美且无法正确匹配。
关于css - 查找所有不以 ";"结尾的 CSS 规则的正则表达式,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/25425872/