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>
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>
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("------------------------------");
}
版权声明:本站内容均来自互联网,仅供演示用,请勿用于商业和其他非法用途。如果侵犯了您的权益请与我们联系QQ:729038198,我们将在24小时内删除。
发表评论