+ -
当前位置:首页 → 问答吧 → python的正则

python的正则

时间:2011-11-16

来源:互联网

http://www.xxxx.com/zh-cn/news/8331_for_zhuantibaodao_text.htm

我想要一个正则,只取
http://www.xxxx.com

找了半天资料
我用这个在其他正则环境匹配成功了,http://(.*).com
但是在Python的环境匹配不成功。
那位高手帮帮忙

作者: code048   发布时间: 2011-11-16

你用python的代码,结果(怎样不成功的)。放在Python code
代码在这里

作者: panghuhu250   发布时间: 2011-11-16

http://(.*?).com

作者: jiaweiqq123   发布时间: 2011-11-16

Python code
#coding=utf-8

import re
import urlparse

if __name__=='__main__':
    url = 'http://www.xxxx.com/zh-cn/news/8331_for_zhuantibaodao_text.htm'

    # 按照你的思路
    # url中的netloc,也就是www.xxxx.com,具体应该可以包括那些字符
    # 你可以参考:http://www.w3.org/Addressing/rfc1808.txt
    netlocPattern = r"http[s]?://(?:[;?]|[:@&=]|[0-9]|[a-z]|[A-Z]|[$\-_.+]|[!*'(),]|(:?%[a-f][A-F][0-9]{2}))+"
    print  re.search(netlocPattern, url).group()


    # 其实更简单的做法是使用urlparse
    print "http://" + urlparse.urlparse(url).netloc


其实我觉得对于你这种情况还是使用urlparse.urlparse()比较方便些,上面代码中两种实现都有。

url中的netloc,也就是www.xxxx.com,具体应该可以包括那些字符,你可以参考:http://www.w3.org/Addressing/rfc1808.txt

作者: tinym87   发布时间: 2011-11-16

Python code
http://[^/]+

作者: iambic   发布时间: 2011-11-16

引用 4 楼 iambic 的回复:

Python code
http://[^/]+

顶!!!

作者: MainRed   发布时间: 2011-11-17