首页 > 解决方案 > 正则表达式在匹配前的最后一个空格处开始新行

问题描述

我正在为 Notepad++ 寻找一个正则表达式,以使其每行最多包含 35 个字符。

我想开始新的一行:

如果没有任何空格或点,我不想开始新行。

示例文本:

Lorem ipsum dolor sit amet, consectetur adipiscing elit, sed do eiusmod tempor incididunt ut labore et dolore magna aliqua.
Ut enim ad minim veniam, quis nostrud exercitation ullamco laboris nisi ut aliquip ex ea commodo consequat.
Duis aute irure dolor in reprehenderit in voluptate velit esse cillum dolore eu fugiat nulla pariatur.
Excepteur.sint.occaecat.cupidatat.non.proident,.sunt.in.culpa.qui.officia.deserunt.mollit.anim.id.est.laborum.

此正则表达式匹配每一行,直到第 35 个字符,但我不知道如何添加空格/点选择:

^.{0,35}

你能帮助我吗?

谢谢

标签: regexstringnotepad++

解决方案


您可以使用

查找内容:     ^(?=.{35}).{0,35}[\h.]
替换为$0\n

详情

  • ^- 一行的开始
  • (?=.{35})- 需要 35 个字符而不是换行符的正向前瞻,以便立即出现在当前位置的右侧
  • .{0,35}- 零到 35 个字符(换行符除外)
  • [\h.]- 水平空白或点。

替换模式是整个匹配 ( $0) 加上一个换行符。

请参阅 Notepad++ 演示和设置:

在此处输入图像描述


推荐阅读