我有不好的CSS文件,像这样的规则(我无法控制这些文件的生成),清理错误的CSS规则:尝试使用js代码
.class html {
}
.class2 html,.class3 html {
}
html {
}
html .class4 {
}
.class body {
}
.class2 body,.class3 body {
}
body {
}
body .class4 {
}
,你可以看到,一些HTML和BODY规则在类名后放。
我想要做的是扭转这个规则,以获得适当的限定符(标签然后类)。
我预期的结果是:
html .class {
}
html .class2 ,html .class3 {
}
html {
}
html .class4 {
}
body .class {
}
body .class2 ,body .class3 {
}
body {
}
body .class4 {
}
我试图用一个正则表达式:([^,]+\s+)(html|body)
这个换人:$2 $1
,但我没有得到我想要的东西。 (Repro on regex101)
如何达到我的目标?
PS:这将以自定义吞咽任务结束,因此需要js正则表达式解决方案。
或者尝试['(\。\ S +)( \ s +)(html | body)' - >'$ 3 $ 2 $ 1'](https://regex101.com/r/kM9kZ7/2)。 –
@Tushar:只关注body和html标签;因为它们更高在dom比我的根类; –
@WiktorStribiżew:这工作。你应该添加一个答案,所以我可以奖励你 –