我想在URL中的'/ bla-bla-bla /'和'a12345'之间提取一个词,它是使用Hive中的regexp_extract的"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)
答案 0 :(得分:2)
您可以使用
regexp_extract(URL,'^.*/bla-bla-bla/([^/.]+)\.a[0-9].*$', 1)
它匹配
^
-字符串的开头.*
-除换行符以外的任意0+个字符,并且尽可能多/bla-bla-bla/
-文字/bla-bla-bla/
子字符串([^/.]+)
-第1组(自下一个参数为1
起您将获得的结果):除/
和.
以外的1个或更多字符\.a
-一个.a
子字符串[0-9]
-一个数字.*$
-字符串的其余部分。