我觉得这样问有点愚蠢,但我已经创建了一些正则表达式来在HTML文档中查找特定的企业、地址和URL。问题是……我不知道我应该使用哪一个(python)正则表达式。当我使用re.findall时,我会得到30到90个结果。我想把它限制在3或5(一组数字)。我应该使用哪个正则表达式操作来完成此操作,或者是否有一个参数可以在搜索达到一定数量的结果时停止搜索?
此外,有没有一种更快的方法来搜索HTML文档,这样我的程序就不会因为正则表达式搜索这个非常长的“字符串”文本而变慢?
谢谢。
编辑
我有Beautiful Soup,我用它来简化read...but而不是解析。
我也用过lxml...which更好/更快?
发布于 2012-08-11 09:11:39
使用re.finditer
而不是re.findall
。它返回一个迭代器,该迭代器根据需要生成下一个匹配。
下面是一个例子:
>>> [m.group(0) for m, _ in zip(re.finditer(r"\w", "abcdef"), range(3))]
['a', 'b', 'c']
https://stackoverflow.com/questions/11902378
复制相似问题