glob模式

工作中经常遇到glob,比如eslint/tsc中include配置,再比如shell中筛选文件,IDE中Code Style等。之前对其没有系统学习,因此使用时往往很低效,为此补下课,这里Mark下。

glob vs 正则

查询了些资料,总结以下几点

  1. glob 不等同于正则,且具体的元字符含义也很不相同,比如?代表单个字符,但正则中却是前面的字符出现1次或者0次

​ 因此正则/glob的元字符需要区分记忆

  1. glob,正则使用场景不同,正则多用于文本处理,比如对于内容进行检索命中,而glob多用于文件匹配,但并非glob就一定不能用于文本处理或者正则来做文件匹配,只是一般大家都如此使用而已。
  2. 需要明确,正则更为强大,而glob简洁。

关于glob使用语法网上很多,这里就不列出。

glob练习

彻底学会的根本办法就是多练,尤其是常用的通配符,比如**,?。

这里推荐如下站点,可以在线编写表达式进行测试,熟练之后就不用每次写的时候各种查了。

https://globster.xyz/

File Masks

关于glob的使用延伸下,WebStorm算是我开发中IDE主力了,其中有一个功能是全文检索,在搜索时可以输入匹配模式从而进行文件类型筛选,这个模式叫file mask。查询语法文档后发现其算是glob的子集,只是WebStorm中拓展了下语法,增加逗号作为多组模式匹配

因此我们可以通过比如*.css,*.less来匹配多种文件类型。

写在最后

glob如正则,在日常谈不上高频,但也是必不可少的基本技能了,so,多练多记吧。

学习资料