Regex解析CSS文件:这个表达式会起作用吗

本文关键字:表达式 起作用 解析 CSS 文件 Regex | 更新日期: 2023-09-27 18:28:09

我是正则表达式的新手,我正在尝试解析一个CSS文件并提取所有id和类的CSS实现。

下面的正则表达式会正确提取所有类和id吗?有没有更好的正则表达式可以用来获取所有id和类CSS实现?

string cssCode = "some css code";
MatchCollection ids = Regex.Matches(cssCode, "#(.*?) {(.*?)}", RegexOptions.Singleline);
MatchCollection classes = Regex.Matches(cssCode, ".(.*?){(.*?)}", RegexOptions.Singleline);

我的方法是:
-对于每个#字符,忽略#字符后的文本,如果我们下一个找到{,那么我知道它的CSS实现,所以获取从{到下一个}的所有内容。

Regex解析CSS文件:这个表达式会起作用吗

这些可能有效:

/'.(['w'd'.-]+)[^{}]*{[^}]*}/ // for classes
/#(['w'd'.-]+)[^{}]*{[^}]*}/ // for ids

我在几个样式表页面上试用了javascript,结果似乎很有效。我不知道它是否缺少任何东西,但我知道它没有得到任何不该有的东西。