【问题标题】:REGEXP_EXTRACT with URL in Hive在 Hive 中带有 URL 的 REGEXP_EXTRACT
【发布时间】:2018-07-18 04:57:59
【问题描述】:

我想在 Hive 中使用 regexp_extract 提取 URL 中 '/bla-bla-bla/' 和 'a12345' 之间的单词 "this-is-the-word"

输入:www.website.com/bla-bla-bla/this-is-the-word.a12345.anotherword.blabla

期望的输出:这就是单词

我在下面尝试过,但都没有奏效。什么 RegEx 将从这个输入中实现我想要的输出?

regexp_extract(URL,'^.*[/]bla[-]bla[-]bla[/]([a-z]+)\\.(a([0-9]+))*$',1)
regexp_extract(URL,'^.*[/]bla-bla-bla[/]([a-z]*)[.]a([0-9]+)*$',1)

【问题讨论】:

    标签: regex hive


    【解决方案1】:

    你可以使用

    regexp_extract(URL,'^.*/bla-bla-bla/([^/.]+)\.a[0-9].*$', 1)
    

    this regex demo

    匹配

    • ^ - 字符串开头
    • .* - 除换行符以外的任何 0+ 个字符,尽可能多
    • /bla-bla-bla/ - 文字 /bla-bla-bla/ 子字符串
    • ([^/.]+) - 第 1 组(因为下一个参数是 1,您将得到什么):除 /. 之外的 1 个或多个字符
    • \.a - .a 子字符串
    • [0-9] - 一个数字
    • .*$ - 字符串的其余部分到其末尾。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2019-07-26
      • 1970-01-01
      • 1970-01-01
      • 2023-03-28
      • 1970-01-01
      相关资源
      最近更新 更多