Mev*_*abu 3 python regex algorithm url python-2.7
我有这个网址:
http://www.exmaple.com/boo/a.php?a=jsd
Run Code Online (Sandbox Code Playgroud)
我想要的输出是这样的:
http://www.exmaple.com/boo/
Run Code Online (Sandbox Code Playgroud)
如果我有明智的话
http://www.exmaple.com/abc.html
Run Code Online (Sandbox Code Playgroud)
它应该是
http://www.exmaple.com/
Run Code Online (Sandbox Code Playgroud)
和
http://www.exmaple.com/
Run Code Online (Sandbox Code Playgroud)
应该回来
http://www.exmaple.com/
Run Code Online (Sandbox Code Playgroud)
没有任何改变
这就是我尝试过的
re.sub(r'\?[\S]+','',"http://www.exmaple.com/boo/a.php?a=jsd")
Run Code Online (Sandbox Code Playgroud)
但它回来了
http://www.exmaple.com/boo/a.php
Run Code Online (Sandbox Code Playgroud)
有什么建议可以做些什么来获得正确的输出,或者有没有人有更好的想法来完成这项工作?
请使用stdlib urlparse
模块,就像这样.一般来说,除非绝对必要,否则我会尽量避免使用正则表达式.
from urlparse import urlparse, urlunparse
>>> parsed = urlparse("http://www.exmaple.com/boo/a.php?a=jsd")
>>> scheme, netloc, path, params, query, fragment = parsed
>>> urlunparse((scheme,netloc,path.split('/')[1],'','',''))
'http://www.exmaple.com/boo'
Run Code Online (Sandbox Code Playgroud)