當前位置: 首頁>>代碼示例 >>用法及示例精選 >>正文


erlang wildcard(Wildcard)用法及代碼示例


wildcard(Wildcard) -> [file:filename()]
類型:
Wildcard = filename() | dirname()

返回與 Unix-style 通配符字符串 Wildcard 匹配的所有文件的列表。

通配符字符串看起來像普通的文件名,隻是以下"wildcard characters"以特殊方式解釋:

?

匹配一個字符。

*

匹配任意數量的字符,直到文件名末尾、下一個點或下一個斜杠。

**

用作單個模式的兩個相鄰* 匹配所有文件以及零個或多個目錄和子目錄。

[Character1,Character2,...]

匹配列出的任何字符。由連字符分隔的兩個字符匹配一係列字符。示例:[A-Z] 匹配任何大寫字母。

{Item,...}

交替。匹配備選方案之一。

其他角色代表他們自己。隻有在相同位置具有完全相同字符的文件名才會匹配。匹配區分大小寫,例如"a" 與"A" 不匹配。

目錄分隔符必須始終寫為 / ,即使在 Windows 上也是如此。

\ 前麵的字符失去其特殊含義。請注意,在字符串文字中,\ 必須寫為\\。例如, "\\?*" 將匹配以 ? 開頭的任何文件名。

請注意,允許使用多個 "*" 字符(如 Unix 通配符,但與 Windows/DOS 通配符相反)。

例子:

以下示例假設當前目錄是 Erlang/OTP 安裝的頂部。

要查找所有應用程序中的所有 .beam 文件,請使用以下行:

filelib:wildcard("lib/*/ebin/*.beam").

要在所有應用程序 src 目錄中查找 .erl.hrl,請使用以下任一行:

filelib:wildcard("lib/*/src/*.?rl")
filelib:wildcard("lib/*/src/*.{erl,hrl}")

要查找 srcinclude 目錄中的所有 .hrl 文件:

filelib:wildcard("lib/*/{src,include}/*.hrl").

要查找 srcinclude 目錄中的所有 .erl.hrl 文件:

filelib:wildcard("lib/*/{src,include}/*.{erl,hrl}")

要查找任何子目錄中的所有 .erl.hrl 文件:

filelib:wildcard("lib/**/*.{erl,hrl}")

相關用法


注:本文由純淨天空篩選整理自erlang.org大神的英文原創作品 wildcard(Wildcard) -> [file:filename()]。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。