2

问这个问题我觉得有点愚蠢,但我做了一些正则表达式来查找 HTML 文档中的特定企业、地址和 URL。问题是......我不知道我应该使用哪个(python)正则表达式。当我使用 re.findall 时,我得到 30 到 90 个结果。我想将其限制为 3 个或 5 个(一组数字)。我应该使用哪个正则表达式操作来执行此操作,或者是否有一个参数可以在搜索达到一定数量的结果时停止搜索?

此外,是否有一种更快的方法来搜索 HTML 文档,这样我的程序就不会因为正则表达式搜索这个非常长的“字符串”文本而减慢速度?

谢谢。

编辑

我有 Beautiful Soup,我用它来让事情更容易阅读……但不是为了解析。

我也使用过 lxml ......哪个更好/更快?

4

1 回答 1

1

而不是使用re.findall,使用re.finditer。它返回一个迭代器,根据需要产生下一个匹配项。

这是一个例子:

>>> [m.group(0) for m, _ in zip(re.finditer(r"\w", "abcdef"), range(3))]
['a', 'b', 'c']
于 2012-08-11T01:11:39.010 回答