正则表达式获取字符串中指定标签的内容时会出现卡死现象

yangmeng518889 2012-12-12 10:06:25
/// <summary>
/// 获取标签内容
/// </summary>
/// <param name="htmlStr">需格式HTML</param>
/// <param name="className">样式名</param>
/// <param name="index">Groups索引</param>
/// <returns></returns>
public static string GetLable(string htmlStr, string className, int index)
{

htmlStr = htmlStr.Replace("\r\n", "").Replace("\n", ""); ;
string pattern = "<(?<HtmlTag>[\\w]+)[^>]*\\sclass=(?<Quote>[\"']?)" + className + "(?(Quote)\\k<Quote>)[\"']?[^>]*>(((?<Nested><\\k<HtmlTag>[^>]*>)|</\\k<HtmlTag>>(?<-Nested>)|.*?)*)</\\k<HtmlTag>>";
var match = Regex.Match(htmlStr, pattern);

if (match.Success)
{
return match.Groups[index].ToString();
}
else
{
return string.Empty;
}
用这个方法获取字符串中指定标签的内容,执行的时候cpu一致占用着,没有释放,感觉这个正则写的有问题,死循环了。谁有好的。
...全文
80 2 打赏 收藏 转发到动态 举报
写回复
用AI写文章
2 条回复
切换为时间正序
请发表友善的回复…
发表回复
Forrest23 2012-12-12
  • 打赏
  • 举报
回复
应该是正则写的有问题 你要取标签里的东西 如果比较简单的话 可以使用这种方法 参考 C# 利用WebBrowser获取网页信息--代码三人帮
q107770540 2012-12-12
  • 打赏
  • 举报
回复
你不如直接说明你要匹配什么 这个正则看着太蛋疼了

110,567

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

试试用AI创作助手写篇文章吧