执行copy into命令时如何提供正则表达式模式选择固定前缀的文件
解决方案
匹配逻辑说明
要实现仅选中前缀为TEST的文件,核心是确保TEST字符严格出现在文件名的最开始位置,排除其他字符前置的情况。
正则表达式规则
匹配规则直接使用正则起始锚定符即可,对应表达式为:^TEST.*\.csv$
规则拆解
^:锚定匹配位置为文件名的最开头,确保后续的TEST是文件名的首个字符序列TEST:精确匹配指定前缀.*:匹配前缀之后出现的任意数量、任意类型的字符\.csv:匹配文件后缀.csv,\为转义符,避免.被识别为正则通配符$:锚定匹配位置为文件名的末尾,避免匹配到后缀额外追加字符的无效文件
COPY INTO 命令配置示例(通用多数数仓平台,含Snowflake、Databricks等)
大多数平台支持直接通过PATTERN参数传入正则规则,注意SQL场景下需要对反斜杠做二次转义:
COPY INTO 目标表名 FROM @你的存储阶段路径 -- PATTERN参数直接传入正则规则即可 PATTERN = '^TEST.*\\.csv$';
匹配效果验证
- 命中规则:
TEST_Code.csv,前缀符合起始位置要求 - 排除规则:
XmlTEST_Code.csv,文件名起始为Xml,不满足开头匹配要求
内容的提问来源于stack exchange,提问作者Chandraketu Gupta
相关产品推荐
相关产品推荐

