1. 程式人生 > >Glob萬用字元

Glob萬用字元

描述

glob是shell使用的路徑匹配符,類似於正則表示式,但是與正則表示式不完全相同。在linux操作中如檔案匹配等等其實已經使用了glob萬用字元。由於其在路徑匹配方面的強大,其他語言也有相應的實現。我在使用基於node的gulp時遇到glob匹配檔案路徑,於是順便整理一下glob的基礎語法和使用。

語法和使用

  • *:匹配一個路徑部分中0個或多個字元,注意不匹配以.開始的路徑,如檔案.a。
  • ?:匹配一個字元。
  • […]:匹配一系列字元,如[abc]匹配字元a, b, c,在[^…]和[!…]表示匹配不在列表中的字元,如[^abc]匹配除了a, b, c以外的字元。
  • **:匹配0個或多個子資料夾。
  • {a,b}:匹配a或則b,a和b也是萬用字元,可以由其他萬用字元組成。
  • !:排除檔案,如!a.js表示排除檔案a.js。
    更多相關語法可參考node-glob

用途和注意點

glob非常強大的用途在於路徑匹配,大部分的平臺和開發語言都會在配置中使用glob路徑匹配,其普遍性幾乎使其成為一種標準。但是需注意的是,每個平臺和開發語言所支援glob路徑匹配可能不完全一樣。