0

我正在学习 MIT OCW 的算法课程。在一次讲座中提到,我们在使用 re.findall 时必须小心,因为 re 通常可以是指数复杂度算法。在解析大文件或数据集时,这是一个问题吗?是否有替代正则表达式的方法来有效地从数据中提取模式?

4

1 回答 1

1

这取决于你想做什么。

通常,使用完成任务所需的最简单工具。

in我想,会比正则表达式更有效,但不允许通配符、重复等。如果您要查找的模式都在一行上,您可以一次搜索一行,处理每一行(并将其从内存中取出)在下一行之前。如果您正在寻找字符串的开头或结尾,他们使用mystring.startswith()or mystring.endswith()- 这些更有效。

您也许可以将数据拆分为更易于管理的块。

如果您想要多行搜索,而不是在开头或结尾,并且包含通配符或重复...您可能会遇到正则表达式。

于 2013-07-03T22:00:32.673 回答