python读取一个文件, 通过正则表达式,匹配a到b的内容,并将所有匹配到的段落,存到一个列表中,并写入文件中
时间: 2024-04-16 20:28:59 浏览: 110
python 实现正则表达式匹配
要使用正则表达式从文件中匹配指定内容a到b之间的段落,并将其存储到一个列表中,并将结果写入文件,你可以使用 Python 的 `re` 模块和文件操作。以下是一个示例代码:
```python
import re
def extract_paragraphs_between_patterns(file_path, pattern_a, pattern_b):
# 打开文件并读取内容
with open(file_path, 'r') as file:
content = file.read()
# 使用正则表达式匹配指定的内容
matches = re.findall(f"{pattern_a}(.*?){pattern_b}", content, re.DOTALL)
# 返回匹配到的段落列表
return matches
def write_paragraphs_to_file(paragraphs, output_file):
# 将段落写入文件
with open(output_file, 'w') as file:
for paragraph in paragraphs:
file.write(paragraph + '\n')
# 调用示例
file_path = "example.txt"
pattern_start = "Start of"
pattern_end = "End of"
output_file = "output.txt"
paragraphs = extract_paragraphs_between_patterns(file_path, pattern_start, pattern_end)
write_paragraphs_to_file(paragraphs, output_file)
```
在上述代码中,`extract_paragraphs_between_patterns` 函数与前面的示例相同,用于提取匹配到的段落。`write_paragraphs_to_file` 函数接受段落列表和输出文件路径作为参数,它将逐行将段落写入到输出文件中。
请将代码保存到一个 Python 脚本文件中,并将要读取的文件路径、模式a、模式b和输出文件路径传递给相应的函数来运行它。它将提取匹配到的段落并写入到指定的输出文件中。
希望这个示例能满足你的需求!如果有任何问题,请随时提问。
阅读全文