glob patterns
一 介紹
glob patterns是一種匹配模式,運用通配符(wildcard characters)來匹配一個文件列表(sets of filenames?),詳細的介紹可以查看wiki:
https://en.wikipedia.org/wiki/Glob_(programming)
二 匹配規則
1. 通用規則:
* : 匹配0個或多個任意字符
? : 匹配任意單個字符
[abc] :匹配括號中的單個字符
[a-z]: 匹配范圍中的單個字符
2. Linux和POSIX系統拓展的規則:
[!abc]: 匹配列表除外的單個字符
[!a-z]: 匹配范圍除外的單個字符
3. shell拓展
有一些shell(如c-shell,bash)允許支持額外的語法:括號拓展(alternation?or?brace expansion)
$ echo a{p,c,d,b}e ape ace ade abe $ echo {a,b,c}{d,e,f} ad ae af bd be bf cd ce cf 可以查看glob的man文檔:http://man7.org/linux/man-pages/man7/glob.7.html三 和正則表達式的區別
1.元字符代表的意思不同,如glob中*指匹配零個或多個字符,而*在正則表達式中指前面的字符出現零次或多次;
2.regular expressions 支持更多復雜的匹配模式;
3. glob匹配的是整個字符,而正則表達式匹配的是子字符串,如:
在glob中S*.DOC匹配S.DOC和SA.DOC,但是不匹配POST.DOC或SURREY.DOCKS,但是在正則表達式中匹配的是子字符串,除非用^?和$?進行限定^S.*\.DOC$
4. glob用于文件名的匹配,所以通配符不能匹配路徑分隔符/, ?另外如果文件名是以.開始,則必須準確匹配;
總結
以上是生活随笔為你收集整理的glob patterns的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 数论进阶——莫比乌斯反演
- 下一篇: A-priori算法的优化实现