2016-05-17 53 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 –

相关问题