正则表达式找出变量类型

时间:2015-03-01 04:17:12

标签: sql regex types hive pattern-matching

我正在使用HIVE导入文件(使用sql类型语法)并尝试找出我的输入文件的变量类型,该文件需要是正则表达式,可能是以下任何一种:

  1. 文本
  2. 日期
  3. 所以,我做到了: 仅限Long:^(^\\d*$) 仅适用于Double:(\\d{0,2}\\.\\d{1,2}) 仅适用于日期:\\d{2}\/\\d{2}\/\\d{4}

    但问题出在Text上。

    我认为如果上述任何一个标准不匹配,那么它就是一个文本并做到了这一点:

    对于文字:([^(^\\d*$)][^(\\d{2}\/\\d{2}\/\\d{4}])

    但这只匹配Text的一部分(即如果值包含“updated”,则上面的表达式仅返回“upd”)。我无法理解为什么它只是字符串的一部分。

1 个答案:

答案 0 :(得分:0)

知道了。只是一个简单的模式(^ [a-zA-Z] +)