Ede*_*row 5 python regex text python-3.x
我想用正则表达式搜索一个大文本文件,并设置以下代码:
import re
regex = input("REGEX: ")
SearchFunction = re.compile(regex)
f = open('data','r', encoding='utf-8')
result = re.search(SearchFunction, f)
print(result.groups())
f.close()
Run Code Online (Sandbox Code Playgroud)
当然,这不起作用,因为第二个参数re.search
应该是字符串或缓冲区.但是,我不能将所有文本文件插入到字符串中,因为它太长(意味着它将需要永远).有什么选择?
您检查每个行的模式是否匹配.这不会将整个文件加载到内存中:
for line in f:
result = re.search(SearchFunction, line)
Run Code Online (Sandbox Code Playgroud)