我觉得问这个问题有点愚蠢,但我已经编写了一些正则表达式来查找 HTML 文档中的特定企业、地址和 URL。问题是......我不知道我应该使用哪个(python)正则表达式。当我使用 re.findall 时,我得到 30 到 90 个结果。我想将它限制为 3 个或 5 个(一组)。我应该使用哪个正则表达式操作来执行此操作,或者是否有一个参数可以在达到一定数量的结果时停止搜索?
此外,是否有一种更快的搜索 HTML 文档的方法,这样我的程序就不会因为正则表达式搜索这个非常长的文本“字符串”而变慢?
谢谢。
编辑
我有 Beautiful Soup,我用它只是为了让事情更容易阅读......但不是解析。
我也用过 lxml...哪个更好/更快?
最佳答案
不使用 re.findall
,而是使用 re.finditer
。它返回一个迭代器,该迭代器根据需要产生下一个匹配项。
这是一个例子:
>>> [m.group(0) for m, _ in zip(re.finditer(r"\w", "abcdef"), range(3))]
['a', 'b', 'c']
关于Python 正则表达式 - 限制结果?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11902378/