我有一个字符串字段错误\u cd,值为“cntrlb cntrlb asdv cntrlb asvd cntrla cntrlb cntrlb”
在Pig里面,我试着用 REGEX_EXTRACT_ALL(error_cd, '.*(cntrl[a-b]).*')
找回一个元组 (cntrlb,cntrlb,cntrlb,cntrla,cntrlb)
或者只是 (cntrl,cntrl,...,cntrl)
. 相反,我只赢了一场比赛 (cntrl)
.
有人知道如何返回所有匹配项吗?
1条答案
按热度按时间bmp9r5qi1#
REGEX_EXTRACT_ALL
用于提取正则表达式中的所有捕获组。它不会多次应用单个正则表达式。这份文件有些过时了,但对我来说还是准确的REGEX_EXTRACT_ALL
.没有正则表达式可以捕获任意数量的组(看这个问题。)如果你有一个已知的时间限制
cntrl
字符串可能会出现,你可以设计一个丑陋的正则表达式来捕获它们,但听起来你最好使用TOKENIZE
然后分别处理字符串中的每个单词。