0
這是我的樣本數據(屬性)來匹配:正則表達式提取全部採用豬
[87027^適用年齡#619081^12-36個月,108389^國產/進口#619192^國產,108376^包裝單位#619113^盒裝,12210^分類#121491^牛奶粉,108385^奶源產地#619164^澳洲/新西蘭,115919^配方#651827^常規配方奶粉,12212^段位#121499^3段,108380^淨含量#619152^2kg以上]
[108385^奶源產地#619183^其它 ,12212^段位#121499^3段,87027^適用年齡#619081^12-36個月,108376^包裝單位#619120^桶裝,108389^國產/進口#619196^進口,12210^分類#121491^牛奶粉,115919^配方#651827^常規配方奶粉,12241^價格#121803^200-299元,108380^淨含量#619147^800-1000g]
[87027^適用年齡#619081^12-36個月,108389^國產/進口#619192^國產,108376^包裝單位#619113^盒裝,12210^分類#121491^牛奶粉,108385^奶源產地#619164^澳洲/新西蘭,115919^配方#651827^常規配方奶粉,12212^段位#121499^3段,108380^淨含量#619152^2kg以上]
所以我想,以配合在數字之間所有的值。因此,對於第一條數據行,我想要匹配87027和619081之間的值以及619081和108389之間的值,以此類推。
這裏是我到目前爲止的代碼:
data = LOAD 'SHORT.txt' USING PigStorage() AS (number:chararray, user:chararray, item:chararray, attributes:chararray);
B = FOREACH data GENERATE REGEX_EXTRACT_ALL (attributes, '\\^(.*?)[#|,|\\]]');
DUMP B;
請讓我知道,如果你有需要的任何其他信息。謝謝!
好奇。我的回答有幫助嗎? – tmslnz
我瞭解您提供的正則表達式,它在您提供的鏈接中起作用,但我仍然無法讓代碼正常工作。 – gambaboy
我的輸出只顯示爲: () () () – gambaboy