尝试获取正则表达式,我可以从下面的示例中获取样式属性值,这应该可以解释我的问题。
source:font-size:11pt; font-color:red; text-align:left;
想说给我..
有人能指出我正确的方向
由于
利
答案 0 :(得分:3)
这个问题让我想起了Jeff Atwood的博文, Parsing Html The Cthulhu Way 。这不是完全相同的问题,而是同样的情绪。不要用正则表达式解析CSS!有很多图书馆可以帮你做这件事。
答案 1 :(得分:0)
逻辑上你想要:
[确切短语] + 1冒号+ 0或更多空白字符+ 0或更多字符,直至第一个分号或结束语。
我认为这会让你朝着正确的方向前进:
font-size[:][\s]*[^;'"]*
陷阱:
结束语可能是单引号或双引号,并且可能有一个有效的引用(例如,引用背景图片网址)
这完全取决于没有以简写方式书写的样式
答案 2 :(得分:0)
var regex = new Regex(@"([\w-]+)\s*:\s*([^;]+)");
var match = regex.Match("font-size:11pt;font-color:red;text-align:left;");
while (match.Success)
{
var key = match.Groups[1].Value;
var value = match.Groups[2].Value;
Console.WriteLine("{0} : {1}", key, value);
match = match.NextMatch();
}
编辑:这不应该是一个“完整”的解决方案。它可能完成了80%的案例工作,而且最后的20%将是更昂贵的幅度; - )