需求助:匹配非空行且后接非空行的换行的正则表达式
解决诗歌Markdown换行符替换问题
要实现给包含文本且下一行非空的行末尾添加两个空格(Markdown换行),可以使用以下正则表达式(需开启多行模式m):
匹配正则:
^(.+)\n(?!\n)
替换为:
$1 \n
说明:
^:在多行模式下匹配每行的开头,确保只处理完整的行(.+):匹配至少一个字符的行内容(保证该行包含文本,排除空行)\n(?!\n):匹配换行符,且该换行符后面不能紧跟另一个换行符(即下一行不是空行)- 替换时用
$1引用匹配到的行内容,后面加上两个空格和换行符,实现Markdown换行效果
为什么你之前的正则不行?
你用的(.*?)\n(?!\n)中,.*?会匹配空字符串,导致空行的换行符也被匹配到,不符合“该行包含文本”的要求。
内容的提问来源于stack exchange,提问作者Chris
相关产品推荐
相关产品推荐

