Tableau中如何使用REGEXP_EXTRACT从文件名提取完整日期时间字段
解决方法
你可以通过精准匹配日期时间格式的正则表达式,直接提取文件名里的目标内容,避免多余字符被包含进来。
正确的正则表达式及用法
使用以下REGEXP_EXTRACT语句即可实现需求:
REGEXP_EXTRACT([File Paths], r'(\d{4}-\d{2}-\d{2}_\d{2}\.\d{2}\.\d{2})')
如果要更严谨地限定匹配边界(确保只提取文件名中符合格式的日期时间部分),可以用这个版本:
REGEXP_EXTRACT([File Paths], r'_(\d{4}-\d{2}-\d{2}_\d{2}\.\d{2}\.\d{2})\.txt')
正则规则说明
\d{4}-\d{2}-\d{2}:精准匹配YYYY-MM-DD格式的日期部分_:匹配日期与时间之间的分隔下划线\d{2}\.\d{2}\.\d{2}:匹配HH.MM.SS格式的时间部分(注意.在正则里是通配符,必须用\.转义才能匹配实际的点)- 括号
()用于捕获目标分组,让REGEXP_EXTRACT直接返回这部分内容
你之前的正则问题所在
你使用的\d(.+)会匹配第一个数字之后的全部内容,包括文件名末尾的.txt后缀,所以才得到了022-11-17_14.45.56.txt这种包含多余字符的结果。通过精准限定日期时间的格式,就能只提取出你需要的完整日期时间字段。
内容的提问来源于stack exchange,提问作者crazydiamond
相关产品推荐
相关产品推荐

