我正在Python中使用acora库来尝试在多个字符串中搜索多个关键字。
我可以使用它搜索两个功能:findallfinditer
findall返回匹配项列表,有点像正则表达式findall。
finditer返回一个迭代器,逐一查找结果



>>> import acora
>>> builder = acora.AcoraBuilder('ab', 'bc', 'de')
>>> ac = builder.build()
>>> ac.findall('this-is-my-testing-phrase-which-has-ab-and-bc-and-de')
[('ab', 36), ('bc', 43), ('de', 50)]




我只想知道是否只有一场比赛。我不想浪费更多的处理能力,看看findall中是否还有其他类似内容。因此,ab完全在其中的事实就足够了。


我可以用迭代器找到它吗?看看最多是否有一场比赛?

我之所以这样问,是因为我只是将acora与基本字符串匹配的时间定为2个嵌套循环,其速度慢了4倍,这似乎很荒谬。

最佳答案

刚刚意识到,我基本上可以遍历iter对象,并在结果通过后立即中断。

09-27 09:17