2016-05-17 76 views
0

我需要從API地理編碼提取數據 「LNG」正則表達式映射

"location" : { 
       "lat" : -33.4419266, 
       "lng" : -70.64956029999999 
       }, 

和,我嘗試這樣做:

regex.Pattern = "location(?:.|\n)*?""lng"".*?([0-9]+)": regex.Global = False 

但此刻,我得到「70 「而不是」-70.64956029999999「。 我如何獲得完整的號碼?由於

回答

0

試試這個:

regex.Pattern = "(?:""lng"" :)([^\n\r]+)" 
+0

雖然這個代碼片斷可以解決的問題,[包括解釋(HTTP ://meta.stackexchange.com/questions/114762/explaining-entirely-code-based-answers)真的有助於提高你的文章的質量。請記住,您將來會爲讀者回答問題,而這些人可能不知道您的代碼建議的原因。 – zondo

1

使用JSON上的正則表達式最終將推動你瘋了......

Sub Test() 

    Dim j, s As Object 
    j = "{location : {lat : -33.4419266, lng : -70.64956029999999}}" 

    Set s = CreateObject("scriptcontrol") 
    s.Language = "javascript" 

    s.eval "var o = (" & j & ");" 

    Debug.Print s.eval("o.location.lng") '>> -70.6495603 

End Sub 
+0

非常好的解決方案! +1 –