【发布时间】:2016-12-03 00:13:50
【问题描述】:
我基本上必须从 file1 中删除一段文本。 file1 包含数千行(约 3GB 大小)。该块如下所示,
line 1
line 2
<pattern1> {
...
...
...
}
<pattern2> {
...
...
...
}
我基本上是在尝试写出文件中大括号“{}”之间的行块,并且在读取该行时尝试为每个条目(pattern1、pattern2)进行模式匹配。我通过另一个文件(file2)给出了模式列表。 因此,我正在为我的逻辑(不是代码,而是想法)考虑类似下面的内容,但没有信心。有人可以澄清解决此问题的最佳方法吗?
- 打开file2,获取要匹配的字符串模式。
- 打开 file1 并开始从 file2 中搜索字符串模式的每一行。
- 找到后,启用该标志并开始将大括号之间的行写入输出文件(例如 file3)。
- 一旦遇到右大括号,取消设置标志并停止写入文件 (file3)。
【问题讨论】:
-
file2 中只有一种模式吗?
-
有嵌套大括号吗?
-
不,file2 中有多个模式,这就是为什么我将其称为 pattern1/pattern2(例如 100 个这样的模式),是的,在我试图写出的块中有嵌套的大括号。
标签: python