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 \\ [])。非經特殊聲明,原始代碼版權歸原作者所有,本譯文未經允許或授權,請勿轉載或複製。