正则表达式从js代码中提取地址

时间:2014-01-22 16:01:50

标签: c# .net regex

我正在尝试从js代码中提取地址。

我从原始javascript中提取了以下行。

(new GLatLng(45.512242,-73.554009),'2860 Main Street S',icon_near)

我制作了这个正则表达式

"\(new\sGLatLng\(           #Start of the match
(?<Lat>\-?\d{1,3}.\d+)      #Latitude
,
(?<Long>\-?\d{1,3}.\d+)\)   #Longitude   
,'
(?<Address>.+)              #The address
(?=',icon_near\))           #Positive LookAhead. The regex end just before ',icon_near)"

问题在于我一起有多个地址,并且在找到最后一个,icon_near\)之前,正则表达式匹配不会停止。


我用这个正则表达式解决了我的问题:

,
'(?<Address>.+?)'
(?=,icon_near\))

1 个答案:

答案 0 :(得分:1)

请改为尝试:

\(new\sGLatLng\(          #Start of the match
(?<Lat>\-?\d{1,3}.\d+)    #Latitude
,
(?<Long>\-?\d{1,3}.\d+)\) #Longitude   
,
'(?<Address>.+)'          #The address
(?=,icon_near\))          #Positive LookAhead. The regex end just before ',icon_near)

单引号放错了地方。此外,我删除了一个不需要的单引号。

演示

http://regex101.com/r/sX8dB2