Zenity文件选择对话框如何实现大小写不敏感的PDF文件过滤?
解决Zenity文件选择器匹配所有大小写PDF扩展名的问题
嘿,我完全懂你这种烦恼——枚举所有大小写组合的过滤器不仅写起来麻烦,看起来也乱糟糟的!其实有个更简洁优雅的方式来实现这个需求,不用挨个列*.pdf、*.Pdf、*.PDF这些变体。
最优解决方案
你可以利用通配符的字符组功能,用单个过滤器规则覆盖所有大小写组合的PDF扩展名:
zenity --file-selection --multiple --file-filter='PDF Files (*.[pP][dD][fF]) | *.[pP][dD][fF]'
原理说明
这里的[pP]表示匹配小写p或大写P,同理[dD]匹配d或D,[fF]匹配f或F。把它们组合起来,*.[pP][dD][fF]就能匹配所有大小写形式的PDF扩展名(比如.pdf、.PDF、.Pdf、.pDf等等),一次性搞定所有可能的变体,比枚举写法简洁太多。
额外小提示
如果你的系统使用的是不区分大小写的文件系统(比如macOS的APFS、WSL下的NTFS分区),其实直接用*.pdf也能匹配所有大小写的PDF,但为了兼容区分大小写的文件系统(比如Linux默认的ext4),上面的字符组写法是更稳妥的通用方案。
内容的提问来源于stack exchange,提问作者etsnyman
相关产品推荐
相关产品推荐

