我有一些 CSS,我想创建一个包含所有类名和标识符的列表。这是我的:
var TheList = new List<string>();
var Test2 = Regex.Matches(TheCSS, ".-?[_a-zA-Z]+[_a-zA-Z0-9-]*(?=[^}]*\\{)");
foreach(Match m in Test2)
{
TheList.Add(m.Value);
}
问题是有一些不需要的元素:
body
:hover
select
input
label
[for
input
[type
'radio
我尝试了几个在网上找到的正则表达式;这个是最接近的,但还不完美。基本上,它只需要包含以 # 和 . 开头的元素,以避免 body 和 [type然后不包括像 :hover
我需要在正则表达式中更改什么才能使其正常工作?
谢谢。
请您参考如下方法:
正在关注 the CSS standards ,类或 ID 必须匹配 [_A-Za-z0-9\-]+。因此,类或 ID 匹配直接以 # 或 . 为前缀的字符串。
确定之后,您需要做的就是确保在 } 出现之前紧跟 {,以确保您在规则之外。
生成的正则表达式将是:([\.#][_A-Za-z0-9\-]+)[^}]*{
Your sample case .相同的正则表达式应用于 Facebook CSS .
