把偶数行放在奇数行后面? Python正则表达式

时间:2014-12-10 20:34:56

标签: python regex

我很难用这个,并且想知道是否有人可以提供帮助,这是python正则表达式搜索的输出,但我需要更改输出但不确定如何?

输出如下:

Tony1
, 7684 dogs
Garry 2
, 8473 dogs
sara111
, 0 dogs

我需要它看起来像:

Tony1 , 7684 dogs
Garry 2 , 8473 dogs
sara111 , 0 dogs

基本上将“偶数”行中的每一行都添加到奇数行的末尾?

这可能吗?

2 个答案:

答案 0 :(得分:1)

import re
x="""Tony1
, 7684 dogs
Garry 2
, 8473 dogs
sara111
, 0 dogs"""
print re.sub(r"\n([^\n]+(?:\n|$))",r" \1",x)

正则表达式:\n([^\n]+(?:\n|$))

参见演示。

https://regex101.com/r/qB0jV1/5

答案 1 :(得分:0)

使用正则表达式相当简单。

查找:'\r?\n(.*(?:\r?\n|\z))'
替换:' $1'
标志:Global

正则表达式详细信息:

 \r? \n                        # Even linebreak
 (                             # (1 start), Replacement
      .*                            # All non-linebreak chars
      (?:
           \r? \n                        # Odd linebreak
        |                              # or,
           \z                            # End of string
      )
 )                             # (1 end)