html td 正则,正则表达式来获得的值的特定TD内部在HTML

本文探讨了使用正则表达式处理HTML内容的局限性,并提供了一个利用HTMLAgilityPack进行HTML解析的示例代码。虽然正则表达式可以用于简单的HTML处理任务,但对于复杂的结构化数据提取,推荐使用专门的HTML解析库。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

使用正则表达式不是正确的做法。正如其他人指出的那样,使用HTML解析器。因为你接受它不会是一个完美的解决方案

99

但是,它可以用正则表达式来完成,只要:如果你有HTML Agility Pack,你可以这样做:

using System;

using System.Linq;

using System.Text.RegularExpressions;

using HtmlAgilityPack;

class Program

{

static void Main(string[] args)

{

string html = @"

Some text blah: page 13 of 99
more stuff";

HtmlDocument doc = new HtmlDocument();

doc.LoadHtml(html);

var nodes = doc.DocumentNode.SelectNodes("//td[@class='blah']");

if (nodes != null)

{

var td = nodes.FirstOrDefault();

if (td != null)

{

Match match = Regex.Match(td.InnerText, @"page \d+ of (\d+)");

if (match.Success)

{

Console.WriteLine(match.Groups[1].Value);

}

}

}

}

}

输出。它是脆弱的,很容易被欺骗,但在这里它是:

class Program

{

static void Main(string[] args)

{

string s = @"stuff

Some text blah: page 13 of 99
more stuff";

Match match = Regex.Match(s, @"

]*\sclass=""blah""[^>]*>[^");

if (match.Success)

{

Console.WriteLine(match.Groups[1].Value);

}

}

}

输出:

99

只要确保没有人见过你这样做。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值