Glob 模式


Glob 是什么

glob 是一種文件匹配模式,全稱 global,它起源於 Unix 的 bash shell 中,比如在 linux 中常用的 mv *.txt tmp/ 中,*.txt 就使用到了這種模式。

Glob 有哪些用途

在計算機編程中,經常需要對文件或者文件夾進行操作,那么會經常涉及到一些文件或者文件夾的匹配操作,此時就是 Glob 模式大顯身手的時候,比如上面的 mv 命令。

大家最熟悉的應用的地方可能給就是 git 中的 .gitignore 中的表達式了,它就是 Glob 模式的一個典型用法。

Glob 用法

以下是表達式的說明,注意 Glob 不匹配任何隱藏文件或文件夾。

模式 說明
* 匹配除了斜杠(/)之外的所有字符。 Windows上是斜杠(/)和反斜杠(\)
** 匹配零個或多個目錄及子目錄。不包含 . 以及 .. 開頭的。
? 匹配任意單個字符。
[seq] 匹配 seq 中的其中一個字符。
[!seq] 匹配不在 seq 中的任意一個字符。
\ 轉義符。
! 排除符。
?(pattern_list) 匹配零個或一個在 pattern_list 中的字符串。
*(pattern_list) 匹配零個或多個在 pattern_list 中的字符串。
+(pattern_list) 匹配一個或多個在 pattern_list 中的字符串。
@(pattern_list) 匹配至少一個在 pattern_list 中的字符串。
!(pattern_list) 匹配不在 pattern_list 中的字符串.
[...] POSIX style character classes inside sequences.

舉例

  • 匹配 docs 目錄下及子目錄所有 markdown 文件: docs/**/*.md
  • 匹配 大小寫的 bin 文件夾: [Bb]in

各個語言提供的庫

沒列出來的,一般語言本身的庫提供的有相關功能。


本文地址:http://www.cnblogs.com/savorboard/p/glob.html
作者博客:Savorboard
本文原創授權為:署名 - 非商業性使用 - 禁止演繹,協議普通文本 | 協議法律文本


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM