我有讀這樣的一個文本文件: -正則表達式在Apache中星火
這個配方,可無論用臺式攪拌機,或通過手碗,
木勺,和強大的武器。如果您使用鹽漬黃油,請在此配方中省略
加鹽。
蔭
成分
1 1/4杯通用麪粉(160 G)
1/4茶匙鹽
1/2茶匙發酵粉
1/2杯無鹽黃油(1個棒,或8大勺,或112克)在室溫下
1/2杯白砂糖(90 G)
1/2杯棕糖,包裝(85 G)
1大蛋
1茶匙香草提取物
1/2茶匙速溶咖啡顆粒或速溶咖啡粉
1/2杯切碎的澳大利亞堅果(3 1/2盎司或100克)
1/2杯白巧克力片
方法
1將烤箱預熱至175°C(350°F)。大力將麪粉,
和發酵粉放在一個碗中,並放在一邊。
我想提取單詞Ingredients和Method之間的數據。
我寫了一個正則表達式(?s)(?<=\bIngredients\b).*?(?=\bMethod\b)
來提取數據,它工作正常。
但是,當我嘗試使用如下所示的spark-shell時,它並沒有給我
什麼。
val b = sc.textFile("/home/akshat/file.txt")
val regex = "(?s)(?<=\bIngredients\b).*?(?=\bMethod\b)".r
regex.findAllIn(b).foreach(println)
請告訴我,我錯了,我應該採取什麼措施來
糾正呢?
在此先感謝!
'B'是RDD,'regex.findAllIn'適用於字符串。因此,您需要將正則表達式應用於RDD集合的字符串。可能是像'map'或'flatmap'這樣的問題 – maasg