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实现,所以获取从{
到下一个}
的所有内容。
这些可能有效:
/'.(['w'd'.-]+)[^{}]*{[^}]*}/ // for classes
/#(['w'd'.-]+)[^{}]*{[^}]*}/ // for ids
我在几个样式表页面上试用了javascript,结果似乎很有效。我不知道它是否缺少任何东西,但我知道它没有得到任何不该有的东西。