Elixir语言中 Path.wildcard
相关用法介绍如下。
用法:
wildcard(glob, opts \\ [])
@spec wildcard(
t(),
keyword()
) :: [binary()]
根据给定的glob
表达式遍历路径并返回匹配列表。
通配符看起来像一个普通的路径,除了以下 "wildcard characters" 以特殊方式解释:
-
?
- 匹配一个字符。 -
*
- 匹配直到文件名末尾、下一个点或下一个斜杠的任意数量的字符。 -
**
- 两个相邻的*
用作单个模式将匹配所有文件以及零个或多个目录和子目录。 -
[char1,char2,...]
- 匹配任何列出的字符;用连字符分隔的两个字符将匹配一系列字符。不要在逗号前后添加空格,因为它会匹配包含空格字符本身的路径。 -
{item1,item2,...}
- 匹配备选方案之一。不要在逗号前后添加空格,因为它会匹配包含空格字符本身的路径。
其他角色代表他们自己。只有在相同位置具有完全相同字符的路径才会匹配。请注意,匹配区分大小写: "a"
将不匹配 "A"
。
目录分隔符必须始终写为 /
,即使在 Windows 上也是如此。在调用此函数之前,您可以调用
来规范化路径。Path.expand/1
默认情况下,模式 *
和 ?
不匹配以点 .
开头的文件。请参阅下面 "Options" 部分中的 :match_dot
选项。
选项
:match_dot
- (布尔值)如果false
,特殊通配符*
和?
将不匹配以点开头的文件(.
)。如果true
,以.
开头的文件将不会被特殊处理。默认为false
。
例子
假设您有一个名为 projects
的目录,其中包含三个 Elixir 项目:elixir
、ex_doc
和 plug
。您可以在每个项目的ebin
目录中找到所有.beam
文件,如下所示:
Path.wildcard("projects/*/ebin/**/*.beam")
如果你想同时搜索 .beam
和 .app
文件,你可以这样做:
Path.wildcard("projects/*/ebin/**/*.{beam,app}")
相关用法
- Elixir Path.basename用法及代码示例
- Elixir Path.rootname用法及代码示例
- Elixir Path.type用法及代码示例
- Elixir Path.split用法及代码示例
- Elixir Path.expand用法及代码示例
- Elixir Path.absname用法及代码示例
- Elixir Path.join用法及代码示例
- Elixir Path.dirname用法及代码示例
- Elixir Path.relative用法及代码示例
- Elixir Path.extname用法及代码示例
- Elixir Path.relative_to用法及代码示例
- Elixir Protocol.extract_protocols用法及代码示例
- Elixir Process.monitor用法及代码示例
- Elixir Process.demonitor用法及代码示例
- Elixir Protocol.consolidate用法及代码示例
- Elixir Process.delete用法及代码示例
- Elixir Process.whereis用法及代码示例
- Elixir Process.group_leader用法及代码示例
- Elixir Port.monitor用法及代码示例
- Elixir Process.put用法及代码示例
- Elixir Process.registered用法及代码示例
- Elixir Process.register用法及代码示例
- Elixir Protocol.derive用法及代码示例
- Elixir Process.get用法及代码示例
- Elixir Port用法及代码示例
注:本文由纯净天空筛选整理自elixir-lang.org大神的英文原创作品 Path.wildcard(glob, opts \\ [])。非经特殊声明,原始代码版权归原作者所有,本译文未经允许或授权,请勿转载或复制。