繁体   English   中英

Hive中带有URL的REGEXP_EXTRACT

[英]REGEXP_EXTRACT with URL in Hive

我想在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)

您可以使用

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

观看此正则表达式演示

它匹配

  • ^ -字符串的开头
  • .* -尽可能多的除换行符以外的0+个字符
  • /bla-bla-bla/ -文字/bla-bla-bla/子字符串
  • ([^/.]+) -组1(自下一个参数为1以来,您会得到什么):1个或更多除/和以外的字符.
  • \\.a一个.a子字符串
  • [0-9] -一个数字
  • .*$ -字符串的其余部分。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM