Notepad++正则表达式:查找无结尾句号非空行并添加句号
在Notepad++中给非空且不以句号结尾的行添加句号
我来给你一套精准的正则方案,完美避开空行,只处理符合要求的行:
操作步骤
- 打开你的文本文件,按下
Ctrl+H调出替换窗口 - 在搜索模式里选择「正则表达式」(别勾选「匹配换行符」)
- 填入以下内容:
- 查找目标:
^(?!\s*$).*(?<!\.)$ - 替换为:
$0.
- 查找目标:
- 点击「全部替换」,搞定!
正则表达式详解
咱们拆解一下这个正则,让你明白为什么它能精准匹配:
^:匹配一行的起始位置(?!\s*$):负向前瞻,用来排除空行和全是空白字符的行——意思是「这一行不能是零个或多个空白后直接结束」.*:匹配行内任意数量的字符(除了换行符),覆盖整行内容(?<!\.):负向后顾,确保行尾的最后一个字符不是句号$:匹配一行的结束位置
替换框里的$0代表整个匹配到的行内容,所以$0.就是给匹配到的行末尾加上句号。
补充:处理行尾带空白的情况
如果你的文本里有些行结尾有空格/制表符,你想先去掉这些空白再加句号,可以用这个调整后的方案:
- 查找目标:
^(?!\s*$)(.*\S)(?<!\.)\s*$ - 替换为:
$1.
这个正则会把行尾的空白去掉,再给有效内容加上句号。
内容的提问来源于stack exchange,提问作者peter jacuk
相关产品推荐
相关产品推荐

