在&符之间或最后得到字符串

时间:2014-06-13 22:19:59

标签: python regex python-2.7

在&符号之间或结尾处获取字符串

我有以下可能的网址:

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

1 个答案:

答案 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']}