我需要匹配一个前面没有空行的行,并在它前面加上一个换行符。
所以我想把它转换成:
a = 1
b = 2
# header <--- do not match this
f = 10
g = 20
# header <--- match this
x = abc
y = def
对此:
a = 1
b = 2
# header
f = 10
g = 20
# header
x = abc
y = def
我尝试了(?!\n)(# header)
和替换\n\1
,但这两行都匹配:regex101 sample。
(我需要这个用于ansible,所以它是python regex。
为了满足下面的评论,请注意“空”行是真的空;它不包含空格。
2条答案
按热度按时间cgfeq70w1#
您可以替换的(零宽度)匹配项
"\n"
。Demo
正则表达式可以分解如下。
请注意,正向后看
具有与相同的效果(并且可以替换为)
bybem2ql2#
我不确定你想使用哪种语言,但这里有一个使用
String.replace
的JavaScript示例:或者在python中使用Codepen: