使用模式匹配選擇文件

選擇文件時,一個共同的要求是僅從文件夾中讀取特定文件。

例如,如果您正在處理日誌,則可能需要從特定月份讀取文件。您可以使用Glob模式與單個表達式匹配多個文件。

本文使用示例模式向您展示如何從示例列表中讀取特定文件。

示例文件

假設以下文件位於根文件夾中。

//root/1999.txt//root/2000.txt//root/2001.txt//root/2002.txt//root/2003.txt//root/2004.txt//root/2005.txt//root/2020/04.txt//root/2020/05.txt

球模式

星號

*- 星號匹配一個或多個字符。這是多個字符的通配符。

此示例將所有文件與。文本擴大

展示((火花格式((“文本”)。加載((“ // root/* .txt”))

問號

- 問號與一個字符匹配。這是一張僅限於更換單個角色的通配符。

此示例匹配來自根文件夾的所有文件,除了1999.TXT。它不會搜索2020文件夾的內容。

展示((火花格式((“文本”)。加載((“ //root/200?.txt”))

角色類

[AB]- 字符類與集合中的一個字符匹配。它由您要在一組括號內匹配的字符表示。

此示例將所有文件與2或3匹配,代替匹配的字符。它返回2002.TXT2003.TXT從示例文件。

展示((火花格式((“文本”)。加載((“ //root/200 [23] .txt”))

否定的角色類

[^ab]- 被否定的字符類與不在集合中的單個字符匹配。它由要在一組括號內排除的字符表示。

此示例匹配除具有2或3代替匹配字符的所有文件。它返回2000.txt,,,,2001.txt,,,,2004.TXT, 和2005.TXT從示例文件。

展示((火花格式((“文本”)。加載((“ //root/200 [^23] .txt”))

角色範圍

[A-B]- 字符類在值範圍內與單個字符匹配。它由您要在一組括號內匹配的字符範圍表示。

此示例將所有文件與搜索範圍內的字符匹配,以代替匹配的字符。它返回2002.TXT,,,,2003.TXT,,,,2004.TXT, 和2005.TXT從示例文件。

展示((火花格式((“文本”)。加載((“ //root/200 [2-5] .txt”))

否定的角色範圍

[^a-b]- 被否定的字符類匹配一個不在值範圍內的單個字符。它由要在一組括號內排除的字符範圍表示。

此示例將所有文件與搜索範圍之外的字符匹配,以代替匹配的字符。它返回2000.txt2001.txt從示例文件。

展示((火花格式((“文本”)。加載((“ //root/200 [^2-5] .txt”))

交替

{a,b}- 交替匹配任何一個表達式。它由您要在一組卷發括號內匹配的表達式表示。

此示例將所有文件與與兩個選定表達式之一匹配的表達式匹配。它返回2004.TXT2005.TXT從示例文件。

展示((火花格式((“文本”)。加載((“ // root/20 {04,05} .txt”))