【发布时间】:2011-07-29 02:49:29
【问题描述】:
我正在尝试使用正则表达式从文件中读取的文本中解析出一些行。我知道这可以通过逐行读取文件来完成,但我喜欢在单个正则表达式匹配中捕获所有相关信息位的优雅。
示例文件内容:
---
title: a title
layout: page
---
here's some text
================
this will be blog post content.
我正在尝试生成将返回 2 组的正则表达式匹配:“---”行之间的数据,以及第二个“---”行之后的所有数据。这是我想出的正则表达式字符串,但我遇到了问题:
re.match('---\n(.*?)\n---\n(.*)', content, re.S)
这似乎运作良好,除了在处理 unix 与 windows 行尾时。有没有办法让这个正则表达式匹配一个 \r 如果它也存在?它适用于 unix,我相信它只是 \n。
另外,如果您认为这个正则表达式可以改进,我愿意接受建议。
【问题讨论】: