質問: (re.findall('item2019????????-?.csv')) としたのですが、str型にするのにどうしたらいいのかわかりませんでした。 ### 補足情報(FW/ツールのバージョンなど) Python 3.7.3 Windows7 jupyter notebook
回答: `re.findall`は引数として`検索パターン`と`検索対象文字列`の最低2つが必要です。 質問のコードは引数に検索パターンのみが指定されているためエラーとなっています。 下記のサンプルコードは`ftp.nlst`を使ってシンプルなファイル一覧を取得して、正規表現で該当するファイル名を探すコードの抜粋例です。 ここでは`re.match`を使っていますが、マッチング方法や戻り値が違うだけで引数は`re.findall`と同様です。 ``` import re # items = ftp.nlst(".") # ファイル一覧が配列で返る items = [ 'item201912301913-1.csv', 'item201912301913-1.xlsx', 'item2019[8文字ならOK-!.csv', 'readme.txt' ] # 正規表現用サンプルコード for item in items: if re.match(r'item2019.{8}-.\.csv', item): print(item) ```