特定のパターンを検索して、指定されたフォルダのパターンと一致するファイルのみを取得しようとしています。 2つのパターンに一致する正規表現を開発するには、いくつかの支援が必要です。両方に一致する正規表現を見つけることができないようです。 これは私が使用したオリジナルの正規表現である:、この検索パターンの理由正規表現python - ファイル名をキャッチ
r"^([a-zA-Z]+)__?(\d+).(\d+).(\d+)\.xlsx"
私は、5つの変数に名前、日付(DD-MM-YY)とフルファイル名を抽出していることで、このファイルの入力日付を参照するフルファイル名に含まれる日付を抽出することができます。だから、抽出は以下でなければなりません
filename_19.01.17.xlsx
filename__04.01.17.xlsx
AB_TEST_DATA-OUTER_13.02.17.xlsx
:
files = []
for f in os.listdir(drive):
match = re.search(r"^([a-zA-Z-]+)__?(\d+).(\d+).(\d+).xlsx$",f)
if match:
files.append(match.groups() + (f,))
サンプルファイル名:
for name, day, month, year, fullfilename in files
は今、私は次のことをしようとしています
filename, 19, 01, 17, filename_19.01.17.xlsx
はまた、次のことを試してみました:
r"^(([a-zA-Z-]+)(__?)){1,3}(\d+).(\d+).(\d+).xlsx"
すべてのファイルに一致する1つのパターンを持つことは可能ですか?それとも2つのパターンに分割する必要がありますか?
愚かな質問かもしれませんが、普通の。* \。xlsx "の何が問題なのでしょうか?あなたが望んでいないそのディレクトリに他のxlsxファイルがありますか? – Bahrom
@Bahromはいそうですが、私は一致したくありません – OAK