2013-02-18 63 views

回答

4

它不是正則表達式,它wildcard,其中*指任何字符(S),.txt這就是爲什麼你得到與擴展名的所有文件之前.txt

Files and directories - WildCard

當指定的文件名(或路徑)在CP/M,DOS,Microsoft Windows 和類Unix操作系統中,星號字符(「*」) 替代零個或多個字符。在類Unix系統 ,問號(「?」)可替代一個字符

7

這就是所謂的file globbing,不regular expression

儘管兩者都支持「?」,「*」等通配符,但它們有不同的方案。

例如,在水珠「A *」匹配任何文件名與「一」開始的,但在正則表達式的任何具有0個或多個字母「a」的匹配。另一個區別是通配符「?」和正則表達式中的「*」必須有一個前面的元素,而在globbing中不需要。

至於你的最後一個問題,一個點「。」在globbing中沒有特別的意義,它總是一個字面點。要匹配globbing中的一個未知字符,可以使用「?」。