javascript - 将 CSS 选择器与 Javascript RegExp 相匹配

标签 javascript css regex css-selectors

基本上,我需要对 CSS 文件中的所有 CSS 选择器进行模式匹配。理想情况下,它应该能够获取所有这些规则(以及某人可以在 CSS 文件中编写的任何其他规则)。如果有帮助的话,这是针对 javascript CSS 解析器的。

#div div .child {

}

.somediv, #someotherdiv {

}

body:hover {

}

到目前为止我能想到的最好的办法是:

/(#|\.|[a-zA-Z])(.*) {/g

但这最终只会选择超出其需要的内容...就像一个选择器一样,它的所有规则都是如此,直到下一个选择器的开头“{”。已经尝试了几个小时了。提前致谢!

最佳答案

如果您只关心选择器本身,这应该会让您更接近。我认为它匹配单个空格,所以还可以使用更多调整......

var css = ...some css string...
var found = css.replace(/{([^}]*)}/gm,"{}").match(/([#|\.]?)([\w|:|\s|\.]+)/gmi);

关于javascript - 将 CSS 选择器与 Javascript RegExp 相匹配,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5481749/

相关文章:

javascript - JS/node.js中匹配字符的行号

javascript - 动态变量写入正则表达式

javascript - 如何在带有 Chrome 调试的 VS Code 中启用文件的可编辑调试?

javascript - jQuery 获取选择的值并添加到文本输入

javascript - Html + js +css 打包器

html - css中的 anchor 图像问题

css - @import 的 SASS/SCSS 自定义 css 表

regex - 获得等效于GNU grep并支持否定后向的最简单方法是什么?

javascript - 无法从单个按钮触发 angularJS 中的提交

javascript - 是否可以使用 JQuery .attr() 标记向类添加属性?