C# 正则表达式 匹配 HTML 中所有的标签及其属性???急急急
如:<spanstyle=\"color:#282828;font-family:'MicrosoftYaHei','HiraginoSansGB';font-size:...
如:<span style=\"color:#282828;font-family:'Microsoft YaHei', 'Hiragino Sans GB';font-size:14px;line-height:24px;\">环境很好 特安静 去了好几次了 特喜欢门口的吊椅 美女店长超温柔 夏天很热的时候去喝柚子茶跟店长说多加冰半杯都没事 店长却说不行 可以再我喝下一些后再给我装点冰都不能那么干 那样太坑人了 哇 很难得啊 比起一些其他店里给你放很多冰不舍得加饮料的店强太多了就冲这点 也会经常去的 蛋挞也超好吃 而且她家东西都是空气炸锅做的低脂肪 不是油炸食品 吃多了也不怕长胖 简直太爱这家店了 以后会经常去的</span>
展开
2个回答
2015-08-27
展开全部
//要匹配的字符串
string text = "<span style=\"color:#282828;font-family:'Microsoft YaHei', 'Hiragino Sans GB';font-size:14px;line-height:24px;\">环境很好 特安静 去了好几次了 特喜欢门口的吊椅 美女店长超温柔 夏天很热的时候去喝柚子茶跟店长说多加冰半杯都没事 店长却说不行 可以再我喝下一些后再给我装点冰都不能那么干 那样太坑人了 哇 很难得啊 比起一些其他店里给你放很多冰不舍得加饮料的店强太多了就冲这点 也会经常去的 蛋挞也超好吃 而且她家东西都是空气炸锅做的低脂肪 不是油炸食品 吃多了也不怕长胖 简直太爱这家店了 以后会经常去的</span>";
//正则表达式
string pattern = @"<[^\s]+[^>]*[^=]+=[\"\']?(([^:]+):([^:]*))*[\"\']?[^>]*>";
//使用RegexOptions.IgnoreCase枚举值表示不区分大小写
Regex r = new Regex(pattern, RegexOptions.IgnoreCase);
//使用正则表达式匹配字符串,仅返回一次匹配结果
Match m = r.Match(text);
while (m.Success)
{
//显示匹配开始处的索引值和匹配到的值
System.Console.WriteLine("Match=[" + m + "]");
CaptureCollection cc = m.Captures;
foreach (Capture c in cc)
{
Console.WriteLine("\tCapture=[" + c + "]");
}
for (int i = 0; i < m.Groups.Count; i++)
{
Group group = m.Groups[i];
System.Console.WriteLine("\t\tGroups[{0}]=[{1}]", i, group);
for (int j = 0; j < group.Captures.Count; j++)
{
Capture capture = group.Captures[j];
Console.WriteLine("\t\t\tCaptures[{0}]=[{1}]", j, capture);
}
}
//进行下一次匹配.
m = m.NextMatch();
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询