- ベストアンサー
正規表現について
Perlの初心者です。 正規表現の指定方法がよくわかりません。 ディレクトリー内の該当するCSVファイルの抽出をしたいのですが、 "xyz20050105*.csv"に該当するデータすべてを抽出したい。 下記のように、詳細に指定して該当するCSVのファイル名を取得したいのですが、これだとディレクトリー内がすべて表示されてしまいます。 @FTPlist = grep ("$head$year$mon$mday*.csv", readdir(DIR)); どのように指定すればよいのでしょうか?
- みんなの回答 (3)
- 専門家の回答
質問者が選んだベストアンサー
#2です。 正規表現部分は、 @FTPlist = grep (/^$head$year$mon$mday.*\.csv$/, readdir(DIR)); のような感じになると思います(試してません)。
その他の回答 (2)
- shuyamakawa
- ベストアンサー率67% (111/164)
回答No.2
ご質問の趣旨と外れるかもしれませんが、 > @FTPlist = grep ("$head$year$mon$mday*.csv", readdir(DIR)); 変数($head,$year,...)の値は確認していますか? 未確認であれば、 print ( "head=$head,year=$year,mon=$mon,mday=$mday\n" ); という感じで確認してみてください。
- BLUEPIXY
- ベストアンサー率50% (3003/5914)
回答No.1
@FTPlist = glob "$head$year$mon$mday*.csv"; でいいと思います。
質問者
お礼
ご回答ありがとうございます。早速やってみます。
お礼
上記でできました。ありがとうございます。