在&符号之间或结尾处获取字符串
我有以下可能的网址:
http://google.com/sadfasdfsd&AA=mytag&SS=sdfsdf
http://google.com/sadfasdfsd&AA=mytag
Python中从字符串~&AA=mytag&~
获取mytag的最佳方法是什么?
有两种可能性:中间为&AA=
或最后为&AA=
。
那么如何将这些与正则表达式匹配呢?
这个问题来自: Python Get Tags from URL
>>> import re
>>> str = 'http://google.com/sadfasdfsd&AA=mytag&SS=sdfsdf'
>>> m = re.search(r'.*\&AA=([^&]*)\&.*', str)
>>> m.group(1)
'mytag'
但这仅在我有这种类型的网址时才有效:
http://google.com/sadfasdfsd&AA=mytag&SS=sdfsdf
答案 0 :(得分:4)
使用URL解析库。
>>> import urlparse
>>> url = urlparse.urlparse('http://google.com/sadfasdfsd?AA=mytag&SS=sdfsdf')
>>> url.query
'AA=mytag&SS=sdfsdf'
>>> urlparse.parse_qs(url.query)
{'AA': ['mytag'], 'SS': ['sdfsdf']}