PostgreSQL正则表达式匹配长文件名模式,扩展名和无路径

时间:2016-05-13 12:55:35

标签: regex postgresql

我正在尝试使用正则表达式来匹配长文件名和csv扩展名。

示例文件名:

    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$)

我用谷歌搜索,阅读和重读,但无法理解这一点。

任何人都可以帮忙。

1 个答案:

答案 0 :(得分:0)

文件名中有一个空格,因此请将其添加到正则表达式:

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

请参阅regex demo