findall
和finditer
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倍,这看起来很荒谬。
答案 0 :(得分:1)
刚刚意识到我基本上可以循环遍历iter对象并在结果通过后立即中断。