這篇文章主要介紹了關於python 匹配url中是否存在IP地址的方法,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
因為需要檢測一個一個連結中是否包含了IP地址,在這裡需要使用到Regex ,python完美的支援了Regex,在這裡使用re模組來完成,對Regex並不是很熟練,每次都是需要用的時候現查一下然後寫一下,這裡給出來自己的代碼以及借鑒別人的匹配模式
#!/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_listelse: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_listelse: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的Regex,感覺比較繁雜一下,不過實驗了一下都是可以正確匹配出來結果的。
下面是列印出來的結果
['101.23.45.67']missing................['34.54.65.3']missing................****************************************************['101.23.45.67']missing................['34.54.65.3']missing................