Python-re中search()函數(shù)的用法詳解(查找ip)
1.首先來(lái)看一下search()和find()的區(qū)別
import res1 = '2221155'#search 字符串第一次出現(xiàn)的位置print(re.search('1',s1))print(s1.find('1'))
它們的輸出分別是:
search():函數(shù)返回的是查找的字符在字符串中的位置find():函數(shù)返回的也是在字符串中的位置目前來(lái)看兩者并沒(méi)有什么區(qū)別,但是**search()**函數(shù)的高級(jí)操作還在后邊哦!
2.search查找ip那么search()函數(shù)如何查找字符串中的ip地址呢來(lái)看例子先說(shuō)一種比較單一化的查找:
str1 = '192.168.111.123'ip = re.search(r'ddd.ddd.ddd.ddd',str1)print(str1)
輸出結(jié)果:
這里要首先定義好ip的格式 xxx.xxx.xxx.xxx再進(jìn)行查找但是這里知道ip是沒(méi)有固定格式的,首先他的范圍是 0-255,但是他可能是1位數(shù),二位數(shù)或者三位數(shù),這里就需要進(jìn)階了,來(lái)看下邊的代碼:①確定單個(gè)數(shù)范圍在0-255:
re.search(r'[01]dd|2[0-4]d|25[0-5]]',str)
這句代碼里邊的參數(shù)的意思是(| 為“或”):第一位如果是0,1的話(huà),后邊兩位隨便取值第一位如果是2的話(huà),那第二位就得是0到4,第三位隨意取值第一位第二位如果是2和5的話(huà),那么第三位只能是0到5了這樣就能得到字符串里第一個(gè) 0-255的值
②如果要多找?guī)讉€(gè)呢?再舉個(gè)小例子:
str2 = '192168111123'num = re.search(r'([01]dd|2[0-4]d|25[0-5]){3}',str2)print(num)
運(yùn)行結(jié)果:
給查找的字符在后邊加一個(gè){n} n代表你要找?guī)状危蠢游艺业氖?次,所以最后找到的值是3個(gè)挨著的0-255的數(shù)。那么重點(diǎn)來(lái)啦
③找到ip看代碼:
str_ip = 'ssss192.168.1.1aaaa'ip = re.search(r'(([01]{0,1}d{0,1}d|2[0-4]d|25[0-5]).){3}([01]{0,1}d{0,1}d|2[0-4]d|25[0-5])',str_ip)print(i
結(jié)果:
到此這篇關(guān)于Python-re中search()函數(shù)的用法詳解(查找ip)的文章就介紹到這了,更多相關(guān)Python search()函數(shù)內(nèi)容請(qǐng)搜索好吧啦網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持好吧啦網(wǎng)!
相關(guān)文章:
1. ASP.NET MVC遍歷驗(yàn)證ModelState的錯(cuò)誤信息2. 將properties文件的配置設(shè)置為整個(gè)Web應(yīng)用的全局變量實(shí)現(xiàn)方法3. asp(vbs)Rs.Open和Conn.Execute的詳解和區(qū)別及&H0001的說(shuō)明4. jsp網(wǎng)頁(yè)實(shí)現(xiàn)貪吃蛇小游戲5. 用css截取字符的幾種方法詳解(css排版隱藏溢出文本)6. ASP 信息提示函數(shù)并作返回或者轉(zhuǎn)向7. asp中response.write("中文")或者js中文亂碼問(wèn)題8. PHP設(shè)計(jì)模式中工廠模式深入詳解9. CSS hack用法案例詳解10. ThinkPHP5實(shí)現(xiàn)JWT Token認(rèn)證的過(guò)程(親測(cè)可用)
