如何在less -i模式下不临时关闭-i实现单次区分大小写搜索
less开启-i时全小写模式单次区分大小写的正则解决方案
通用POSIX正则方案(全版本兼容)
利用less -i 选项的原生规则实现:只要搜索模式中包含任意大写字母,本次搜索自动切换为区分大小写。仅需在全小写搜索词末尾追加一个不影响匹配结果、包含大写字母的零宽断言即可,无需修改less配置。
示例:搜索全小写的something-lowercase,直接输入搜索模式:something-lowercase(?=[A-Z]?)
附加片段说明:
(?=[A-Z]?)为零宽正向先行断言,仅做规则校验不占用匹配字符[A-Z]?代表匹配0个或1个大写字母,该条件永远成立,不会缩小或扩大原搜索词的匹配范围- 模式中出现的大写
A、Z会触发less-i的区分大小写逻辑,刚好实现全小写内容的精确匹配
PCRE模式原生修饰符方案(需启用PCRE支持)
若你的less版本编译时启用了PCRE支持(主流Linux发行版、macOS Ventura及以上默认支持),可直接用PCRE内置修饰符强制区分大小写,优先级高于-i启动参数。
示例:搜索全小写的something-lowercase,输入搜索模式:(?-i)something-lowercase
提示:不确定是否开启PCRE时,可在less界面按
-(减号)后输入P回车切换,切换成功底部会提示PCRE模式已启用。
内容的提问来源于stack exchange,提问作者Dan Li
相关产品推荐
相关产品推荐

