JSFiddle - React, Tailwind, and code Playground
by Luiz Silva
HTML
<h1>Abra o console para ver o output.</h1>
JavaScript
var str = "div.classe1{/*blablabla.class .classe*/background:red}.classe2 div a{background:#00f}.classe3.classe4{background:green}.classe5{background:#ff0}"
/**
* Lista as classes de um fonte CSS
*/
function parseClasses(cssSource) {
//remove comentários
var semComentarios = cssSource.replace(/\/\*([\s\S]*?)\*\//g, '');
console.log(semComentarios)
//remove blocos com a formatação
var semBlocos = semComentarios.replace(/{\s*[^}]*\s*}/g, '');
console.log(semBlocos)
//recupera classes no que restou
return semBlocos.match(/\.-?[_a-zA-Z]+[_a-zA-Z0-9-]*/g)
}
var classes = parseClasses(str);
for (var i = 0; i < classes.length; i++) {
console.log(classes[i])
}