1
具有CSS的片段:定期对解析出的CSS规则表达框
.__chat.__32x32 {
color: white;
background: url({ANYNAME:anyName}Images/icons/32x32/chat.png{ANYNAME}) no-repeat;
}
问题:需要解析出的CSS(选择+规则块)的块。 Bu在我的模式中考虑URL中的大括号作为规则块的关闭。所有这方面的尝试都没有给我带来成功。 问题:如果模式考虑将构造{anyname}作为匹配字符串的一部分,如果它位于url:rule或rules块内?
var parser = new Regex(@"([a-z0-9\s,*\""\[\]=\.\:#_\[email protected]]+){((?>[^}]+|(?:(?<={ROOT)|(?<={VERSION))})*)}|(\/\*(?:(?:(?!\*\/)[\S\s])+)\*\/)", RegexOptions.Multiline | RegexOptions.IgnoreCase);
MatchCollection matches;
matches = parser.Matches(fullContent);
foreach (Match match in matches)
{
if (match.Value.IndexOf("/*") > -1)
{
var cssComment = new CssComment(match.Value);
_cssElements.Add(cssComment);
}
else
{
var cssBlock = new CssBlock(match.Groups[1].Value.Trim(), match.Groups[2].Value.Trim());
_cssElements.Add(cssBlock);
}
}
可能的重复[正则表达式来获取大括号之间的字符串“{我想要花括号之间的大括号}”](http://stackoverflow.com/questions/413071/regex-to-get-string-between-curly -braces-i-want-what-the-curly-brace) – Jeredepp 2014-10-09 08:07:02
你使用什么语言/工具?你有一个嵌套的结构。您将需要平衡组(.net)或递归正则表达式(pcre/perl)。此外,至少要显示你已经尝试过... – HamZa 2014-10-09 08:29:04
C#和用于测试模式http://regex101.com/r/tU2zB3/1 – setty 2014-10-09 08:31:53