C#正则表达式查找匹配循环替换内容

C#提取网页数据正则表达式二

            string regstr = @"(?i)(?<=<td.*?.*?>)[^<]+(?=</td>)"; //提取td的文字           
            string regstr = @"<a\s+href=(?<url>.+?)>(?<content>.+?)</a>";   //提取链接的内容
            string regstr = @"<td.+?><a\s+href=(?<url>.+?)>(?<content>.+?)</a></td>";  //提取TD中链接的内容
            string regstr = @"<td.+?><span.+?>(?<content>.+?)</span></td>";  //提取TD中span的内容
            string regstr = @"<td.+?>(?<content>.+?)</td>";   //获取TD之间所有的内容
            string regstr = @"<td>(?<content>.+?)-<font color=#0000ff>推荐</font></td>"; //获取内容


全文提取其中内容

                                Regex reg = new Regex(@"<P\sclass=clientnamefont><B>(.*?)</B>");
                                var result = reg.Match(内容).Groups;
                                username = result[1].ToString();
                                //foreach (var item in result)
                                //{

                                //     Console.WriteLine(item);

                                // }
                                //直接获取第几项中的数据,其中里边不能根据规则匹配完全的循环(初学者暂没时间研究做是做个记录方便自己)
                                username = result[1].ToString();


一循环内替换:

            string regstr = @"(?i)[\<]td.*?[\>].*?(</td>)"; //提取页面所有TD内容
            string regReplace = @"(?i)[\<]td.*?[\>]";    //将所有<td......> 替换成<td>

            Regex reg = new Regex(regstr, RegexOptions.IgnoreCase | RegexOptions.Singleline);
            MatchCollection mc = reg.Matches(data);
            foreach (Match m in mc)
            {
                Console.WriteLine(m.Groups[0].ToString());
                Console.WriteLine("------------------------------");
                string s = Regex.Replace(m.Groups[0].ToString(), regReplace, "<td>", RegexOptions.IgnoreCase);
             Console.WriteLine(s);
               
            }

二统一替换:

string regstr = @"(?i)[\<]td.*?[\>].*?(</td>)"; //提取页面所有TD内容
            string regReplace = @"(?i)[\<]td.*?[\>]";    //将所有<td......> 替换成<td>

            Regex reg = new Regex(regstr, RegexOptions.IgnoreCase | RegexOptions.Singleline);           
            string s = Regex.Replace(data, regReplace, "<td>", RegexOptions.IgnoreCase);
            MatchCollection mc = reg.Matches(s);
            foreach (Match m in mc)
            {
             
                Console.WriteLine(m.Groups[0].ToString());
                Console.WriteLine("------------------------------");
               
                       
            }


  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值