因為需要檢測一個一個鏈接中是否包含了IP地址,在這里需要使用到正則表達式 ,python完美的支持了正則表達式,在這里使用re模塊來完成,對正則表達式并不是很熟練,每次都是需要用的時候現查一下然后寫一下,這里給出來自己的代碼以及借鑒別人的匹配模式
#!/usr/bin/env python# -*- coding: utf-8 -*-'''功能:對于給定的URL,檢測其中是否包含IP'''import redef ip_exist_two(one_url): compile_rule = re.compile(r'(?<![/./d])(?:/d{1,3}/.){3}/d{1,3}(?![/./d])') match_list = re.findall(compile_rule, one_url) if match_list: print match_list else: print 'missing................'def ip_exist_one(one_url): compile_rule = re.compile(r'/d+[/.]/d+[/.]/d+[/.]/d+') match_list = re.findall(compile_rule, one_url) if match_list: print match_list else: print 'missing................'if __name__ == '__main__': ip_list = ['http://101.23.45.67/sd/sd.html','http://www.baidu.com', 'http://34.54.65.3/dsdfjkk.htm','http://dhj.fdjjd.com/78078979/dsdfjkk.htm'] for one_url in ip_list: ip_exist_one(one_url) print '****************************************************' for one_url in ip_list: ip_exist_two(one_url)
ip_exist_one(one_url)里面是自己的匹配模式,個人感覺更賤練一下,ip_exist_two(one_url)里面是網上提供的匹配IP的正則表達式,感覺比較繁雜一下,不過試驗了一下都是可以正確匹配出來結果的。
下面是打印出來的結果
['101.23.45.67']missing................['34.54.65.3']missing................****************************************************['101.23.45.67']missing................['34.54.65.3']missing................
以上這篇python 匹配url中是否存在IP地址的方法就是小編分享給大家的全部內容了,希望能給大家一個參考,也希望大家多多支持武林站長站。
新聞熱點
疑難解答