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