我的任务是迁移您将遇到的最糟糕的HTML产品说明。它由表和段落的混合组成。大多数甚至不是100%有效的HTML,并且有许多Microsoft标签由MS Word提供。它充满了线条样式标签,其中大部分都依赖于你将看到的最疯狂的CSS规则。
基本上我已经意识到唯一使用的是文本的段落。我不能只抓取<p>
代码,因为有时段落不使用它们,有时标题或单个单词都有自己的<p>
标记。
所以我的问题是我可以匹配html标签之间的 x 字符长的文本吗?
理想情况下,它也会忽略<br/>
和<br>
Here is a link以我正在处理的HTML为例
请注意,这只是我正在处理的描述,而不是整个页面。
答案 0 :(得分:0)
此正则表达式的1
组将匹配标记之间的n+
个字符(在此示例中为n = 100
):
<[^>]+>([^<]{100,})<[^>]+>
注意:
<([^>]+)>([^<]{100,})<\1>
)因为OP的草率HTML - 标记是标记(?<=<[^>]+>)
)因为匹配是任意长度的,这可能导致回溯问题(某些语言,如java,甚至不支持它)。答案 1 :(得分:0)
稍微扫描一下网站,看起来很多描述都不到100个字符。您可以尝试多遍方法,在第一次迭代中,您可以捕获“div id="tab1"
”之后的第一个表中的所有内容。从那个起点开始,识别和消除 不 想要的部分可能更容易,而不是提取您想要的部分。