如何使用正则表达式在td标记之间获取文本

本文关键字:之间 获取 取文本 td 何使用 正则表达式 | 更新日期: 2023-09-27 18:30:09

我想获取html页面的td标记之间的文本。。

以下是页面的html代码的简短片段

 <tr align="right"><td>989</td><td>Kristoffer</td><td>Shameka</td>
 <tr align="right"><td>990</td><td>Lazaro</td><td>Deirdre</td>
 <tr align="right"><td>991</td><td>Torey</td><td>Shantell</td>
 <tr align="right"><td>992</td><td>Bill</td><td>Cherish</td>
 <tr align="right"><td>993</td><td>Bruno</td><td>Linsey</td>
 <tr align="right"><td>994</td><td>Genaro</td><td>Hali</td>
 <tr align="right"><td>995</td><td>Waylon</td><td>Tarah</td>
 <tr align="right"><td>996</td><td>Brittany</td><td>Annemarie</td>

等等

我想使用正则表达式提取单个单元格值(例如:对于第一列989,Kristoffer和Shameka)。。帮助

如何使用正则表达式在td标记之间获取文本

无论输入的HTML是否总是具有正确和相同的结构,Regex都不是您正在做的事情的最佳解决方案-因为HTML不是一种常规语言,Regex可能是一个糟糕的解决方案,正如这里所解释的。

如果你不能相信输入是相同的,你应该使用HTML解析,比如HTML敏捷包,它可以处理格式错误的HTML并查询其对象模型。

如果您知道输入一直具有相同的格式,那么在这种情况下,对于所显示的输入,您可以并且应该使用string.Split来解析出所需的值。

myHtmlString.Split(new []{@"<tr align=""right""><td>", "</td><td>", "</td>" },
                   StringSplitOptions.RemoveEmptyEntries)