用于识别 vim 中恰好包含 1 行的段落的正则表达式
Regex to identify paragraph in vim consisting of exactly 1 row
输入
row 1
row 2
row 1
row 1
row 2
row 3
row 4
row 5
row 6
row 1
row 2
row 3
row 4
row 5
正则表达式应该 return 仅包含第 1 行的段落
row 1
我第一次尝试了类似 v/(\n\n)+/d 的方法,但没有成功。
你可以使用
:%s/\v\n*.+(\n.+)+\n*/\r/g
此命令将替换以下文件中出现的所有内容
\v
- 启用魔法模式以避免逃脱地狱
\n*
- 匹配零个或多个换行符
.+
- 除换行符以外的一个或多个字符(非空行)
(\n.+)+
- 匹配一个或多个非空行
\n*
- 零个或多个换行符。
替换为换行符,\r
,以避免在有多个匹配项时出现换行。
输入
row 1
row 2
row 1
row 1
row 2
row 3
row 4
row 5
row 6
row 1
row 2
row 3
row 4
row 5
正则表达式应该 return 仅包含第 1 行的段落
row 1
我第一次尝试了类似 v/(\n\n)+/d 的方法,但没有成功。
你可以使用
:%s/\v\n*.+(\n.+)+\n*/\r/g
此命令将替换以下文件中出现的所有内容
\v
- 启用魔法模式以避免逃脱地狱\n*
- 匹配零个或多个换行符.+
- 除换行符以外的一个或多个字符(非空行)(\n.+)+
- 匹配一个或多个非空行\n*
- 零个或多个换行符。
替换为换行符,\r
,以避免在有多个匹配项时出现换行。