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])
}