我正在尝试解析css文本并从cssSelectors中提取元素id或类。
因此,我在createHTMLDocument("")
内创建了一个样式元素,以便可以注入cssText并使用node.sheet.cssRules。
现在,我可以可靠地提取每个选择器文本,而无需复杂的正则表达式。
但选择器文本也可能非常复杂,例如:
".some-calss"
".class1> .class2"
".class1 *, .class2 *, .class3 *, .class4 *, .class5 *"
".class1 > .class2.class3"
"div[is="someis"].class4"
所以我需要可靠地提取所有id和class,如果class或id符合我的条件,我需要替换该特定选择器的id或class并将其添加到缓冲区中,以便可以将另一个样式标签注入到真正的带有修改后的ID和类的dom。 有什么想法吗?
编辑: 所以我试图用正则表达式来解决这个问题,但是我遇到了很多麻烦。我设法创建了一些非常基本的东西:
(?:^|[\.]).*?([^\s]+(?!\.))
但是如果我有这样的选择器:
.test-in-out.testclass-2#testclass
它将选择所有这些。 有帮助吗?