我需要解壓縮目錄中的所有文件,爲此我需要找到該集合中的第一個文件。我目前正在使用一堆if語句和循環來做這件事。我可以使用正則表達式來做到這一點嗎?正則表達式匹配在Python中設置的rar壓縮文件中的第一個文件
下面是我需要匹配的文件列表:
yes.rar
yes.part1.rar
yes.part01.rar
yes.part001.rar
yes.r01
yes.r001
但是這些不應該匹配:
no.part2.rar
no.part02.rar
no.part002.rar
no.part011.rar
no.r002
no.r02
我發現了一個類似的正則表達式上this線程,但它似乎是Python的沒有按」 t支持可變長度的外觀。單行的正則表達式會很複雜,但我會很好地記錄它,這不是問題。這只是你打敗了你的堆的其中一個問題。
在此先感謝你們。
:)
它只支持可變長度的後視。預見很好。 – 2010-03-29 13:03:50
查看文件名是處理文件的根本不正確的方法。文件名只是元數據;一個註釋。只要有可能,你應該依靠文件的實際內容而不是他們的名字。只要文件沒有損壞,文件的實際內容就會正確。事實上,這就是腐敗的定義。例如,名爲'file.part8.rar'的第一卷文件沒有損壞,但基於文件名的方法將無法將其識別爲第一卷。 – Welbog 2010-03-29 13:21:00
您*有*查看文件名以確定哪些文件位於第一個RAR集中;這就是RAR卷的關聯方式,而任何其他方法都需要打開目錄中的每個文件,這在大型目錄中會慢很多。 – 2010-03-29 17:21:21