网上搜索了一大堆,后来才发现,所有理论方面的东西都来源于官方的文档,而使用方法都是各个编码高人不断实践的
结果,我也正好根据他人公开的代码进行实践,在模仿中寻找自己的理解。没有实践和模仿、学习,理论就是废纸一堆!---------------------------------------------------------------------------------------------------
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)
浙公网安备 33010602011771号