网址如下:
http://www.example.com/cgi-bin/blahblah?&PC=abd23423&uy=020
我需要提取值:abc23423
我尝试了这个正则表达式,但它不起作用:
rx = re.compile(r'PC=(\w*)&uy=')
然后我做了:
pc = rx.search(url).groups()
但是我收到了错误:
属性错误:nonetype对象没有属性组。
答案 0 :(得分:4)
尝试urlparse。
答案 1 :(得分:2)
<强>更新强>
啧。我在想什么?
import urlparse
u = 'http://www.example.com/cgi-bin/blahblah?&PC=abd23423&uy=020'
query = urlparse.urlparse(u).query
urlparse.parse_qs(query) # {'PC': ['abd23423'], 'uy': ['020']}
原始答案
此代码段对我有用。看看:
import urlparse, re
u = 'http://www.example.com/cgi-bin/blahblah?&PC=abd23423&uy=020'
query = urlparse.urlparse(u).query
pattern = re.compile('PC=(\w*)&uy')
pattern.findall(query) # ['abd23423']
答案 2 :(得分:0)
lol = "http://www.example.com/cgi-bin/blahblah?&PC=abd23423&uy=020"
s = re.compile("&PC=(\w+)&uy=")
g = s.search(lol)
g.groups()
('abd23423',)
这似乎对我有用。