【发布时间】:2011-06-08 06:07:32
【问题描述】:
我正在使用以下正则表达式:
(<(table|h[1-6])[^>]*>(?<op>.+?)<\/(table|h[1-6])>)
从 html 文档中提取表格(和标题)。
我发现它在我们正在使用的文档中运行良好(使用 word 转换的文档保存为过滤后的 html),但是我有一个问题,如果表中包含一个表,则正则表达式将匹配初始表开始标签和第二个表格结束标签而不是初始表格结束标签。
在正则表达式中是否有办法指定如果它在匹配中找到另一个表标签以继续忽略下一个匹配并继续下一个匹配,依此类推?
【问题讨论】:
-
请考虑 不 使用正则表达式,而是设计用于正确与 HTML tag-soup 一起工作的工具。
-
在这个阶段并不是一个真正的选择,我们可以在某种程度上依赖 html,因为它会生成它,所以它应该是相当一致的
标签: c# html regex html-table