You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何在Hive中使用RegEx函数从字符串字段中提取日期

Hive正则提取日期实现方案

核心使用Hive内置regexp_extract函数实现,适配M/d/yyyy或MM/dd/yyyy格式的日期提取。

实现代码

假设源表为test_table,存储待处理字符串的字段为content_str,查询逻辑如下:

SELECT
  -- 提取第一个匹配的日期
  regexp_extract(content_str, '.*?(\\d{1,2}/\\d{1,2}/\\d{4})', 1) AS Date1,
  -- 提取第二个匹配的日期
  regexp_extract(content_str, '.*?(\\d{1,2}/\\d{1,2}/\\d{4}).*?(\\d{1,2}/\\d{1,2}/\\d{4})', 2) AS Date2
FROM test_table;

如果需要输出你示例中带前缀的格式,用concat拼接即可:

SELECT
  concat('Date1 : ', regexp_extract(content_str, '.*?(\\d{1,2}/\\d{1,2}/\\d{4})', 1)) AS Date1,
  concat('Date2 : ', regexp_extract(content_str, '.*?(\\d{1,2}/\\d{1,2}/\\d{4}).*?(\\d{1,2}/\\d{1,2}/\\d{4})', 2)) AS Date2
FROM test_table;

规则说明

  • 正则中\\d{1,2}匹配1-2位数字,兼容单数字的月份/日期,比如7/26/2021、8/6/2021、12/10/2021都可以正常匹配
  • .*?是非贪婪匹配,避免字符串前半部分的内容吃掉要提取的目标日期

拿你提供的示例字符串测试,输出结果和要求完全一致。

内容的提问来源于stack exchange,提问作者Jayaprakash Neela

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.09.30 19:24:04