用于解析CSS的Javascript正则表达式

用于解析CSS的Javascript正则表达式,javascript,css,arrays,regex,Javascript,Css,Arrays,Regex,我有CSS代码片段,比如 .is-error{ color: #d8000c; } .is-success{ color: #4f8a10; } 我想用javascript中的正则表达式来解析它,这样我就可以得到一个数组,带有类名和相应的属性 我写的正则表达式:/^(?:([\w.\-\>\\\\\\\\\\\\\\\\\\\\\\\*\[\]\:\,\+]+)\{(.*\})$/ 给我输出: array[1] = .is-error array[2] = color: #d8000c

我有CSS代码片段,比如

.is-error{
  color: #d8000c;
}
.is-success{
  color: #4f8a10;
}
我想用javascript中的正则表达式来解析它,这样我就可以得到一个数组,带有类名和相应的属性

我写的正则表达式:
/^(?:([\w.\-\>\\\\\\\\\\\\\\\\\\\\\\\*\[\]\:\,\+]+)\{(.*\})$/

给我输出:

array[1] = .is-error
array[2] = color: #d8000c;}.is-success{color: #4f8a10
期望输出:

array[1] = .is-error
array[2] = color: #d8000c;
array[3] = .is-success
array[4] = color: #d8000c;
不要试图将其与复杂的正则表达式匹配,而是使用不太复杂的正则表达式进行拆分

对于拆分,我们可以使用
String.split
并将regex
/[{}/
传递到其中,然后使用
Array.map
来修剪字符串,以便仅获取内容并删除空白。但在执行此操作之前,我们将使用
Array.filter
删除不需要的空字符串

var arr = str.split(/[{}]/).filter(String).map(function(str){
    return str.trim(); 
});

如果css是有效的,它还具有处理所有css规则而不仅仅是类的优势。

您能展示一下如何存储字符串吗?已经有了用于存储字符串的库;您的用例是什么?如果您是正则表达式的初学者,而不是css专家,解析任意规则将不容易。您将需要使用also希望避免使用“一个正则表达式”来管理所有正则表达式";将解析拆分为不同的子任务。@beerbajay我能用amit给出的解决方案实现我想要的。我正在试验CSS解析。我想知道CSS解析库实际上是如何工作的。@JunaidHamza很高兴它能帮到你:)你能指导我吗,如果在我的CSS文件中我有多行注释,那么ho我能解决这种情况吗?我可以选择两个选项,1)在同一个地方保留所有的评论。2)删除CSS中的所有评论,这两个选项,我如何使它工作