当前位置:编程学习 > C#/ASP.NET >>

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

 /// <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一致占用着,没有释放,感觉这个正则写的有问题,死循环了。谁有好的。 --------------------编程问答-------------------- 你不如直接说明你要匹配什么
这个正则看着太蛋疼了 --------------------编程问答-------------------- 应该是正则写的有问题

你要取标签里的东西  如果比较简单的话 可以使用这种方法  参考 C# 利用WebBrowser获取网页信息--代码三人帮
补充:.NET技术 ,  C#
CopyRight © 2012 站长网 编程知识问答 www.zzzyk.com All Rights Reserved
部份技术文章来自网络,