我有一个包含 11 个文件的文本语料库,每个文件大约有 190000 行。我有 10 个字符串,其中一个或多个可能出现在上述语料库的每一行中。
当我遇到这 10 个字符串中的任何一个时,我需要分别记录出现在该行中的那个字符串。为每一行循环遍历正则表达式并标记它的蛮力方式需要很长时间。有没有一种有效的方法来做到这一点?
我找到了一个帖子(使用 Python 匹配具有多个正则表达式的行),它提供了 TRUE 或 FALSE 输出。但是如何从该行记录匹配的正则表达式:
any(regex.match(line) for regex in [regex1, regex2, regex3])
编辑:添加示例
regex = ['quick','brown','fox']
line1 = "quick brown fox jumps on the lazy dog" # i need to be able to record all of quick, brown and fox
line2 = "quick dog and brown rabbit ran together" # i should record quick and brown
line3 = "fox was quick an rabit was slow" # i should be able to record quick and fox.
循环遍历正则表达式并记录匹配的表达式是解决方案之一,但是查看比例(11 * 190000 * 10),我的脚本现在运行了一段时间。我需要在我的工作中重复很多次。所以我正在寻找一种更有效的方法。