我使用os.walk()來獲取文件名。我需要做的是創建一個文件名列表匹配以下模式:Python正則表達式匹配文件名。使用os.walk()獲取文件名
如果'*'
將匹配所有文件。
如果'h*'
將匹配所有以h開頭的文件。
如果'*h'
將匹配所有以h結尾的文件。
如果'*h*'
將匹配其中包含h的所有文件。
如果[h-w]*
將在一套匹配任何一個字符,包括設置否定[^ H-W]
我新的正則表達式,我有if語句創建一個針對此問題的困擾。可能有人向我解釋(可能有代碼示例)如何做到這一點。謝謝。
'*'不是一個有效的正則表達式。也許你想要一個'fnmatch'類型的模式? – 2014-09-01 21:06:46
此外,正則表達式'h *'匹配名爲'h','hh','hhh'等的文件,但不包含其他文件。 **模式**'h *'匹配以'h'開始的文件名。 – 2014-09-01 21:07:50
@AvinashRaj,不 - 這顯然將正則表達式與fnmatch樣式模式混合在一起。 '* h'不是一個有效的正則表達式 - '*'字符必須在其之前有其他東西,因爲它會將先前的標記修改爲0或更多。 – 2014-09-01 21:08:41