Python:将Multiline与Singleline结合使用

时间:2015-08-04 12:55:35

标签: python regex

我输入了包含数据的文件:

2015-06-05 16:22:10 Payload-Line-1

Payload-Line-2 

2015-06-05 16:22:11 Payload-Line-1

Payload-Line-2

Payload-Line-3

2015-06-05 16:22:12 Payload-Line-1

我尝试制作如下文件:

2015-06-05 16:22:10 Payload-Line-1
Payload-Line-2 

2015-06-05 16:22:11 Payload-Line-1
Payload-Line-2
Payload-Line-3

2015-06-05 16:22:12 Payload-Line-1

这是来自同一正则表达式\d{1,4}\-\d{1,2}\-\d{1,2}的多行开头,但我不能这样做

任何python专家都可以帮助我吗?

1 个答案:

答案 0 :(得分:0)

以下是两种可能的解决方案。第一个是有限的,但不使用正则表达式实现输出。 text保存示例文本的位置,如您的问题所示。

print text.replace("\n\n", "\n").replace("2015-", "\n2015-").strip()

print re.sub(r"(?!^)(\d{4}-)", r"\n\1", text.replace("\n\n", "\n"))

这两个都提供以下输出:

2015-06-05 16:22:10 Payload-Line-1
Payload-Line-2 

2015-06-05 16:22:11 Payload-Line-1
Payload-Line-2
Payload-Line-3

2015-06-05 16:22:12 Payload-Line-1

使用Python 2.7进行测试