2015-07-10 58 views
1

我有這樣的文字:正則表達式匹配n次出現有環視

Concept 1: 

108 MB * 0.062012 $/MB________________6.70 $ 

Concept 2: 

108 MB * 0.07982 $/MB ________________8.62 $ 

Concept 3: 

125 MB * 0.002215 $/MB________________0.28 $ 

而且我想要得到的價格「0.062012」,「0.07982」,「0.002215」與每一個基於特定的正則表達式例如:regex1得到0.062012,regex2得到0.07982,依此類推。

到目前爲止,我只設法使用lookaround得到所有具有相同正則表達式的值:(\\S+)(?= $/MB)

PD:我使用該R行:regmatches(data,regexpr("(\\S+)(?= $/MB)", data, perl=TRUE))

+0

另外:您需要轉義美元符號以防止它被解釋作爲主題結束/斷言結束。 – Luv2code

回答

0

嘗試匹配前面的 「概念1:」 線,以獲得特定的值:

regex1的= (?=Concept 1:\\n\\n\\S+ MB \\*)(\\S+)

或:

regex1 = (?=Concept\\s+1:\\n\\n\\S+\\s*\\w+\\s+\\*\\s+)(\\S+)