2015-03-02 18 views
0

我試圖運行下面的命令,只有2長信獲得的文件名,但它在長度選擇文件長度超過2個字母:list.files用問號

list.files(path="/mydir/csv",pattern="??.xlsx") 

什麼我做錯了嗎?

回答

2

pattern=參數採用正則表達式,「??」對於捕獲兩個字母的正則表達式而言,這並不是恰當的語法。嘗試

list.files(path="/mydir/csv",pattern="^.{2}\\.xlsx$") 
+0

該模式的一個重要部分是「^」,意思是「字符串的開始」,沒有它的模式將之前的「」匹配2個字母,但他們可能是最後2字母的名字很長。用「^」它只能匹配2個字母的名字。 – 2015-03-02 22:46:55

+1

另見'?glob2regex',帶有'glob2rx(「??。xlsx」)'產生「^ .. \\。xlsx $」 – 2015-03-02 23:01:09