我想要一个正则表达式,它将匹配一个或多个文本实例,后跟换行符。在文本的最后一个匹配后跟一个换行符我想要一个进一步的换行符,然后不再有。我将如何实现这一目标?
我在执行新的一条新规则时遇到了困难。
我的(错误的)尝试包括:
[^\n]+\n\n
([^\n]+\n[^\n]+)*\n\n
我想要匹配的文字示例是:
"Hello text\nMore text\nLast one\n\n"
两者都不匹配:
"Hello text\nMore text\nLast one\n\n\n"
"Hello text\nMore text\nLast one\n"
请帮助我。感谢
答案 0 :(得分:0)
您要求匹配任意数量的文本行,最后只添加一个新行,只需:^(.+\n)+\n(?!\n)
将执行您喜欢的操作。
此处示例:https://regex101.com/r/Hy3buP/1
说明:
^ - Assert position at start of string
(.+\n)+ - Match any positive number of lines of text ending in newline
\n - Match the next newline
(?!\n) - Do a negative lookahead to ascertain there are no more newlines.