【发布时间】:2016-09-09 16:30:31
【问题描述】:
我正在尝试使用正则表达式来匹配带有 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$)
我用谷歌搜索、阅读和重读,但无法理解这一点。
谁能帮忙。
【问题讨论】:
-
文件名中有空格,所以添加到正则表达式中:
file_name_regex text := E'^[ a-zA-Z0-9_-]+\\.csv$'; -
天哪!我不敢相信我盯着这个,错过了一个简单的空间。感谢一百万和如此快速的响应。现在完美地工作!
标签: regex postgresql