Pig拉丁正则表达式\u提取物:

kx5bkwkv  于 2021-06-24  发布在  Pig
关注(0)|答案(1)|浏览(451)

我正在尝试使用regexŠu extract从tweet获取Š之后的所有内容。我正在使用这个代码,但我一直没有得到任何东西,没有错误,只是空的空间,我应该得到从推特摘录,我做错了什么?

grunt> a = load '/user/manuelrivera11828510/lab/pig/full_text.txt' AS (id:chararray, ts:chararray, location:chararray, lat:float, lon:float, 
tweet:chararray);

grunt> b = foreach a generate id, ts, (lat, lon) as location, REGEX_EXTRACT(tweet, '(.*)#(\\s{8})([:| ])(.*)',2) as hash;

这就是我得到的(一个例子):

(USER_8f811b71,2010-03-06T16:12:59,(40.722733,-73.5367),)

谢谢您,

xxls0lw8

xxls0lw81#

(?<=\\#).* 你应该得到你想要的东西是肯定的lookback,后跟\表示转义#。finally.*将匹配前面的所有内容#

a = load '/user/manuelrivera11828510/lab/pig/full_text.txt' AS (id:chararray, ts:chararray, location:chararray, lat:float, lon:float, tweet:chararray);
b = foreach a generate id, ts, (lat, lon) as location, REGEX_EXTRACT(tweet, '(?<=\#).*',1) as hash;`

如下所示,regex匹配“geteverything in fron of hash”

相关问题