2016-05-13 12 views
1

長いファイル名とcsv拡張子を一致させるためにregexを使用しようとしています。PostgreSQL正規表現と拡張子のない長いファイル名の正規表現の一致

サンプルファイル名:

Always TheSameText_ExtractStoreLevelUnLtdByWeek_STORENAME_20160306.csv 
    Always TheSameText_ExtractStoreLevelUnLtdByWeek_ANOTHERSTORENAME_20150705.csv 

私が使用しています:

file_name_regex text := E'^[a-zA-Z0-9_-]+\\.csv$'; 

をチェックして:

IF 
      file_name !~ file_name_regex 
    THEN 
      RAISE EXCEPTION 'Invalid data file name (% doesn''t match %)', file_name, file_name_regex; 
    END IF; 

私が取得:

Invalid data file name (Always TheSameText_ExtractStoreLevelUnLtdByWeek_STORENAME_20150705.csv doesn't match ^[a-zA-Z0-9_-]+\.csv$) 

私はグーグルで読んで再読しましたが、これについて私の頭を掴むことはできません。

誰でも助けてください。

+0

を参照してください。 ' file_name_regex text:= E '^ [a-zA-Z0-9 _-] + \\。csv $'; ' –

+0

聖なる煙!私はこれを見つめ、単純な空間を逃したとは信じられません。百万円とそのような迅速な対応に感謝します。 –

答えて

0

そこには、ファイル名にスペースがあるので、正規表現に追加します。

file_name_regex text := E'^[ a-zA-Z0-9_-]+\\.csv$'; 
          ^

があり、ファイル名にスペースがあるので、正規表現に追加regex demo

関連する問題