我觉得有点愚蠢,但我已经做了一些正则表达式来查找HTML文档中的特定商家,地址和URL。问题是......我不知道应该使用哪个(python)正则表达式的东西。当我使用re.findall时,我得到30到90个结果。我想将它限制为3或5(一组数字)。我应该使用哪种正则表达式操作来执行此操作,或者是否有一个参数可以在达到一定数量的结果时停止搜索?
此外,是否有更快的搜索HTML文档的方式,以便我的程序不会因正常的表达式搜索这个非常长的字符串而变慢#34;字符串"文字?
感谢。
修改
我有美丽的汤,我已经用它来让事情更容易阅读......但不要解析。
我还使用了lxml ......哪个更好/更快?
答案 0 :(得分:1)
不使用re.findall
,而是使用re.finditer
。它返回一个迭代器,根据需要产生下一个匹配。
以下是一个例子:
>>> [m.group(0) for m, _ in zip(re.finditer(r"\w", "abcdef"), range(3))]
['a', 'b', 'c']