匹配包含某些文本的整行,并在换行符后添加一个字符串

时间:2019-10-30 18:33:01

标签: python regex

假设我有一个像这样的字符串:

*question: What percentage is the correct answer? 
    33%
    15%
    2%
    25%

我需要在问题行之后添加一个shuffle命令:

*question: What percentage is the correct answer? 
    *shuffle
    33%
    15%
    2%
    25%

这样做的最佳方法是什么?我可以使用任何记事本编辑器或Python很好。

我认为我可以使用以下正则表达式捕获第一行中的所有内容:^(\*question).*,但是我不确定如何在换行符之后直接添加*shuffle语法。

2 个答案:

答案 0 :(得分:2)

您可以使用

import re

data = """
*question: What percentage is the correct answer? 
    33%
    15%
    2%
    25%
"""

rx = re.compile(r'(\*question.+)', re.M)

data = rx.sub(r'\1\n    *shuffle', data)
print(data)

哪个产量

*question: What percentage is the correct answer? 
    *shuffle
    33%
    15%
    2%
    25%

答案 1 :(得分:2)

您可以使用

^(\*question.*)

enter image description here

并替换为

\1\n\t*shffule

Regex demo