hello cc

python正则(一)

Posted on 2015-10-14 21:28  星际海盗  阅读(201)  评论(0)    收藏  举报

网上搜索了一大堆,后来才发现,所有理论方面的东西都来源于官方的文档,而使用方法都是各个编码高人不断实践的

结果,我也正好根据他人公开的代码进行实践,在模仿中寻找自己的理解。没有实践和模仿、学习,理论就是废纸一堆!---------------------------------------------------------------------------------------------------

python的正则与perl的正则相比,perl的正则强很多,因为perl提供了一个十分强大的正则表达式匹配
引擎。这使得 Perl 实际上成为了一种用于过滤、识别和抽取字符串文本的语言,而且它一直是
开发 Web 服务器端 CGI(common gateway interface,通用网关接口)网络程序的最流行的语言。
Python 的正则表达式引擎很大程度上是基于 Perl 的

匹配ip_1:

reg = re.compile(r'\d+\.\d+\.\d+\.\d+[\-\/]?[\d]*') 

 

匹配ip_2:

def get_ip(dns_ip):
    sk = socket.socket(socket.AF_INET,socket.SOCK_DGRAM)
    sk.connect((dns_ip,80))
    (addr,port) = sk.getsockname()
    sk.close()
    return addr

def get_public_ip():
    con = httplib.HTTPConnection('www.whereismyip.com',80,timeout = 4)
    con.request('GET','/')
    res = con.getresponse()
    content = res.read()
    pub_ip = re.search('\d+\.\d+\.\d+\.\d+', content).group(0)  ‘官方文档中有\d的说明,现在才用上它’
    return pub_ip

if __name__ == '__main__':
    local_ip = get_ip('114.114.114.114')
    print '[+] My localhost ip is:\t%s' % local_ip
    print '[+] My public ip  is  :\t%s' % (get_public_ip())

 

匹配ip_3

re.match('\d{1,3}\.\d{1,3}\.\d{1,3}\.\d{1,3}', ip)

 

hello man