C# 获得一段html的正则表达式
<ul><liclase="abc">dfdfdf</li><liclase="ce">tttf</li></ul>想得到<liclase="abc">dfdfdf</l...
<ul><li clase="abc">dfdfdf</li><li clase="ce">tttf</li></ul> 想得到<li clase="abc">dfdfdf</li>这一段。
展开
展开全部
是获得class="abc"的li么?(应该是class不是clase吧?)
那模式是:<li class=\"abc\">.*?</li>
另外解析HTML推荐使用HtmlAgilityPack,这个是codeplex上的开源组件。
如果使用HtmlAgilityPack,那只要:
HtmlDocument doc=new HtmlDocument();
doc.LoadHtml("<ul><li class=\"abc\">dfdfdf</li><li class=\"ce\">tttf</li></ul>");
string str=doc.SelectSingleNode("\\ul[1]\li[@class='abc']").Value;
str的值就应该是dfdfdf
那模式是:<li class=\"abc\">.*?</li>
另外解析HTML推荐使用HtmlAgilityPack,这个是codeplex上的开源组件。
如果使用HtmlAgilityPack,那只要:
HtmlDocument doc=new HtmlDocument();
doc.LoadHtml("<ul><li class=\"abc\">dfdfdf</li><li class=\"ce\">tttf</li></ul>");
string str=doc.SelectSingleNode("\\ul[1]\li[@class='abc']").Value;
str的值就应该是dfdfdf
展开全部
string input = "<ul><li clase=\"abc\">dfdfdf</li><li clase=\"ce\">tttf</li></ul>";
string pattern = "(<li[^<]+?>[^<]+</li>)";
Regex regex = new Regex(pattern, RegexOptions.IgnoreCase);
if (regex.IsMatch(input))
{
MatchCollection matchs = regex.Matches(input);
foreach (Match match in matchs)
{
string li =match.Groups[0].Value;
Console.WriteLine(li);
}
}
这样透过 正则表达式匹配出 li ,至于你要去第一个还是第二 自己看到办 @_@
string pattern = "(<li[^<]+?>[^<]+</li>)";
Regex regex = new Regex(pattern, RegexOptions.IgnoreCase);
if (regex.IsMatch(input))
{
MatchCollection matchs = regex.Matches(input);
foreach (Match match in matchs)
{
string li =match.Groups[0].Value;
Console.WriteLine(li);
}
}
这样透过 正则表达式匹配出 li ,至于你要去第一个还是第二 自己看到办 @_@
本回答被提问者和网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
电脑打开网页和看电影都很卡是怎么原因?
追问
网速不给力?中毒了?USB在用?
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
string aa="<ul><li clase=\"abc\">dfdfdf</li><li clase=\"ce\">tttf</li></ul>";
aa=aa.substring(4,indexof("</li>").Length);
aa=aa.substring(4,indexof("</li>").Length);
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询