我想在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)。帮助!
答案 0 :(得分:2)
输入HTML是否总是具有正确和相同的结构,正则表达式不是您正在做的最佳解决方案 - 因为HTML不是常规语言,正如所解释的那样,正则表达式可能是一个糟糕的解决方案{ {3}}
如果您不能相信输入是相同的,那么您应该使用像here这样的HTML解析,它可以处理格式错误的HTML并查询其对象模型。
如果您知道输入始终具有相同的格式,在这种情况下,使用您显示的输入,您可以而且应该使用HTML Agility Pack来解析所需的值。
myHtmlString.Split(new []{@"<tr align=""right""><td>", "</td><td>", "</td>" },
StringSplitOptions.RemoveEmptyEntries)