我正在为某些模式解析一系列文本文件,因为我想将它们提取到其他文件。
一种说法是我想从文件中“删除”除匹配项之外的所有内容。
例如,如果我有 pattern1、pattern2、pattern3 作为匹配模式,我想要以下输入:
bla bla
pattern1
pattern2
bla bla bla
pattern1
pattern3
bla bla bla
pattern1
给出以下输出:
pattern1
pattern2
pattern1
pattern3
pattern1
我可以使用 re.findall 并成功获取任何模式的匹配列表,但考虑到每个模式的匹配都混合在文件中,我想不出一种方法来保持顺序。
感谢阅读。
请您参考如下方法:
将它们组合成一个单一的模式。在您的示例代码中,使用模式:
^pattern[0-9]+
如果它实际上更复杂,那么尝试
^(aaaaa|bbbbb|ccccc|ddddd)
