【发布时间】:2010-01-28 11:33:32
【问题描述】:
我刚开始学习 Python,遇到了一个小问题。 我需要解析一个文本文件,更具体地说是一个 HTML 文件(但它的语法很奇怪 - divs after divs after divs,Google 对某个 PDF 的“查看为 HTML”的结果我似乎无法提取文本因为它有一个用 m$ word 完成的凌乱表格)。
无论如何,我选择了一种相当低级的方法,因为我只需要尽快获得数据,而且由于我开始学习 Python,我认为学习基础知识对我也有好处。
除了一小部分我需要从一组 div 中检索一组整数之外,我已经完成了所有工作。这是一个例子:
<div style="position:absolute;top:522;left:1020"><nobr>*88</nobr></div>
现在我想检索<nobr></nobr> 中的所有数字(在这种情况下,'588'),因为它是一个非常混乱的文件,我必须确保我得到的内容是正确的。为此,<nobr></nobr> 中的数字必须以"left:1020"、"left:1024" 或"left:1028" 开头。这是因为自动转换,在我看来,最好的选择是获取所有以left:102[0-] 开头的数字。
为此,我尝试使用:
for o in re.finditer('left:102[0-9]"><nobr>(.*?)</nobr></div>', words[index])
out = o.group(1)
但到目前为止,还没有这样的运气......我怎样才能得到这些数字?
提前致谢, J.
【问题讨论】:
-
我只是在检查,但在您正在消化的数据下方的行中,您有
(in that case, '588'),但在数据行中<nobr></nobr>之间的内容是*88。我会编辑和修复它,但我不知道哪个是正确的条目。
标签: python regex parsing syntax-error