我需要创建一个捕获css选择器的javascript正则表达式。
以下是一些例子:
*, ::before, ::after // do not capture anything
::before // do not capture anything
.class1, .class2:before,.class3::after // capture .class2 and .class3
.class4::before // capture .class4
.class-5::before // capture .class-5
.class__6::after // capture .class__6
.class--7 > .child::after // capture .class--7 > .child
#id1 + .something:after // capture #id1 + .something
#id2[attribute-one="1"] + .class8:before // capture #id2[attribute-one="1"] + .class8
Here is what I currently have:/([.#\-+~>\[\]\"\'=\w ]+)(?=:?:)/g
。这并不理想,因为我基本上必须将特殊字符列入白名单。
相反,我宁愿做类似的事情:
忽略单个空格的奖励点,所以
*, ::before
不会捕获逗号后面的空格。
注意:这实际上是此question
的更复杂版本答案 0 :(得分:0)
答案 1 :(得分:0)