当前位置: 首页>>代码示例 >>用法及示例精选 >>正文


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()]。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。