如何使用正则表达式和python从URL解析经度/纬度?

a12*_*234 0 python regex

我有网址: https://maps.google.com/maps?ll=44.864505,-93.44873&z=18&t=m&hl=en&gl=US&mapclient=apiv3

我想从网址中提取经/纬度,这样我就可以了44.864505,-93.44873

到目前为止,我拥有(^[maps?ll=]*$|(?<=\?).*)*给我的东西,ll=44.864505,-93.44873&z=18&t=m&hl=en&gl=US&mapclient=apiv3 但这需要改进。我一直在尝试使用pythex来解决这个问题,但是我被困住了。

有什么建议么?谢谢

Tha*_*Guy 7

我不会使用正则表达式,而会使用 urlparse

对于Python2:

import urlparse

url = 'https://maps.google.com/maps?ll=44.864505,-93.44873&z=18&t=m&hl=en&gl=US&mapclient=apiv3'
parsed = urlparse.urlparse(url)
params = urlparse.parse_qs(parsed.query)

print(params['ll'])
Run Code Online (Sandbox Code Playgroud)

印刷品:

['44.864505,-93.44873']
Run Code Online (Sandbox Code Playgroud)

对于Python3(urllib.parse):

import urllib.parse as urlparse

url = 'https://maps.google.com/maps?ll=44.864505,-93.44873&z=18&t=m&hl=en&gl=US&mapclient=apiv3'
parsed = urlparse.urlparse(url)
params = urlparse.parse_qs(parsed.query)

print(params['ll'])
Run Code Online (Sandbox Code Playgroud)

印刷品:

['44.864505,-93.44873']
Run Code Online (Sandbox Code Playgroud)