【发布时间】:2022-01-19 23:34:12
【问题描述】:
我有一个很大的日志文件,我想在两个字符串之间提取一个多行字符串:start 和 end。
以下是来自inputfile的示例:
start spam
start rubbish
start wait for it...
profit!
here end
start garbage
start second match
win. end
应打印所需的解决方案:
start wait for it...
profit!
here end
start second match
win. end
我尝试了一个简单的正则表达式,但它返回了来自start spam 的所有内容。这应该怎么做?
编辑:关于现实生活中计算复杂性的附加信息:
- 实际文件大小:2GB
- “开始”的出现次数:~ 12 M,均匀分布
- “结束”的出现次数:~800,接近文件末尾。
【问题讨论】:
-
好吧,如果你想在
start和end之间进行匹配,那么你得到start spam作为开始结果是很正常的......你能澄清一下你想要的行为吗?