mac*_*389 4 python regex python-2.7
我有以下字符串,我想从中提取q和geocode值.
?since_id=261042755432763393&q=salvia&geocode=39.862712%2C-75.33958%2C10mi
Run Code Online (Sandbox Code Playgroud)
我试过以下正则表达式.
expr = re.compile('\[\=\](.*?)\[\&\]')
vals = expr.match(str)
Run Code Online (Sandbox Code Playgroud)
但是,vals是None.我也不知道如何才找到的东西,比方说,q=对=.
不需要正则表达式(使用Python 3):
>>> from urllib.parse import parse_qs
>>> query = parse_qs(str[1:])
>>> query
{'q': ['salvia'], 'geocode': ['39.862712,-75.33958,10mi'], 'since_id': ['261042755432763393']}
>>> query['q']
['salvia']
>>> query['geocode']
['39.862712,-75.33958,10mi']
Run Code Online (Sandbox Code Playgroud)
显然,str包含您的输入.
由于(根据你的标签)你使用的是Python 2.7,我认为你需要将import语句更改为:
from urlparse import parse_qs
Run Code Online (Sandbox Code Playgroud)
如果您在2.6版之前使用Python,那么import语句就是
from cgi import parse_qs
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
105 次 |
| 最近记录: |