2016-12-09 33 views
1

我有樣本數據,如低於比賽最內層使用正則表達式在斯卡拉串

header det1 det2 det3 header det1 det2 det3 innerdescription1 innerdescription2 

我想用正則表達式

val detail = "header det1 det2 det3 header det1 det2 det3 innerdescription1 innerdescription2"

這裏只提取最裏面的比賽是我的代碼:

val ptrn="""header .*? (innerdescription2)""".r 
val head = ptrn.findAllIn(detail) 

但是它給出了整個數據。即從第一個標題到內部描述2。我無法找到如何在這裏獲得內線比賽。 。有任何想法嗎?

回答

0

你可以使用查找,我相信它支持scala。

(?<=header).*?(?=innerdescription2) 
+0

我也試過這個。但它只是給了我整個字符串。 「標題det1 det2 det3標題det1 det2 det3 innerdescription1 innerdescription2」 – user7264473