日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問(wèn) 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

glob patterns

發(fā)布時(shí)間:2023/12/16 编程问答 29 豆豆
生活随笔 收集整理的這篇文章主要介紹了 glob patterns 小編覺(jué)得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

一 介紹

glob patterns是一種匹配模式,運(yùn)用通配符(wildcard characters)來(lái)匹配一個(gè)文件列表(sets of filenames?),詳細(xì)的介紹可以查看wiki:

https://en.wikipedia.org/wiki/Glob_(programming)


二 匹配規(guī)則

1. 通用規(guī)則:

* : 匹配0個(gè)或多個(gè)任意字符

? : 匹配任意單個(gè)字符

[abc] :匹配括號(hào)中的單個(gè)字符

[a-z]: 匹配范圍中的單個(gè)字符


2. Linux和POSIX系統(tǒng)拓展的規(guī)則:

[!abc]: 匹配列表除外的單個(gè)字符

[!a-z]: 匹配范圍除外的單個(gè)字符


3. shell拓展

有一些shell(如c-shell,bash)允許支持額外的語(yǔ)法:括號(hào)拓展(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

三 和正則表達(dá)式的區(qū)別

1.元字符代表的意思不同,如glob中*指匹配零個(gè)或多個(gè)字符,而*在正則表達(dá)式中指前面的字符出現(xiàn)零次或多次;

2.regular expressions 支持更多復(fù)雜的匹配模式;

3. glob匹配的是整個(gè)字符,而正則表達(dá)式匹配的是子字符串,如:

在glob中S*.DOC匹配S.DOC和SA.DOC,但是不匹配POST.DOC或SURREY.DOCKS,但是在正則表達(dá)式中匹配的是子字符串,除非用^?和$?進(jìn)行限定^S.*\.DOC$

4. glob用于文件名的匹配,所以通配符不能匹配路徑分隔符/, ?另外如果文件名是以.開始,則必須準(zhǔn)確匹配;


總結(jié)

以上是生活随笔為你收集整理的glob patterns的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。

如果覺(jué)得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。