Notepad++使用REGEX校验文本行字符长度问题求助
需求1:查找第1-8位实际字符长度小于6的行
使用如下正则即可匹配目标行:^[^ ]{0,5}(?= |$)
逻辑说明:
^匹配行首位置[^ ]{0,5}匹配0-5个非空格字符(对应前8位范围内的实际有效内容)(?= |$)正向预查,确认有效内容后紧跟空格或者行尾,保证有效内容长度不超过5(即小于6)
需求2:校验是否存在总长度大于30的行
你当前用的.{30,}写法不完全符合需求:
.{30,}匹配的是字符长度≥30的内容,如果你要找严格大于30的行,应该调整为.{31,}- 搜索时注意不要勾选Notepad++正则配置里的「匹配换行符」选项,
.默认不匹配换行符,可以正确按行统计长度。 - 如果需要更严谨的整行匹配,可以用
^.{31,}$,强制匹配整行长度≥31的行。 - 如果你用调整后的正则仍然没有查询到结果,说明你的文件中不存在总长度大于30的行。
内容的提问来源于stack exchange,提问作者Melinda
相关产品推荐
相关产品推荐

