【发布时间】:2019-06-04 07:59:05
【问题描述】:
我在 Hive 中使用正则表达式函数来查找主文件夹。
我想从这个文件路径中解析出“main”:
/main/one/path/to/hdfs
这是我使用的正则表达式:
regexp_extract(filepath,'(^/[^/]+)',0)
【问题讨论】:
我在 Hive 中使用正则表达式函数来查找主文件夹。
我想从这个文件路径中解析出“main”:
/main/one/path/to/hdfs
这是我使用的正则表达式:
regexp_extract(filepath,'(^/[^/]+)',0)
【问题讨论】:
你必须用“\”转义“/”
(^\/[^\/]+)
【讨论】:
我猜我们希望得到斜杠后的第一个目录,我们可能希望从这个简单的表达式开始:
\/(.+?)\/.+
在这里,我们在第一个捕获组中捕获了 main 输出:
(.+?)
我们可以使用组 1 简单地调用它,我们的代码可能如下所示:
regexp_extract(filepath,'\/(.+?)\/.+', 1)
【讨论】: