欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

正則表達(dá)式IP地址合法性判斷實(shí)戰(zhàn)記錄

 更新時(shí)間:2025年07月21日 08:28:54   作者:保持成長(zhǎng)  
在當(dāng)今數(shù)字化時(shí)代IP地址作為設(shè)備在網(wǎng)絡(luò)中的唯一標(biāo)識(shí)符,扮演著至關(guān)重要的角色,無(wú)論是進(jìn)行網(wǎng)絡(luò)通信、網(wǎng)絡(luò)管理還是安全審計(jì),判斷IP地址的有效性都是一項(xiàng)基礎(chǔ)且關(guān)鍵的任務(wù),這篇文章主要介紹了正則表達(dá)式IP地址合法性判斷的相關(guān)資料,需要的朋友可以參考下

一、正則表達(dá)式常見(jiàn)匹配字符快速回顧

符號(hào)描述
.匹配處換行符\n之外任意1個(gè)字符
[]匹配[]中任意一個(gè)
\d一個(gè)0-9數(shù)字
\D匹配非數(shù)字
\w匹配單詞字符:a-z、A-Z、0-9
\W匹配非單詞字符
\s匹配空格、tab健
\S匹配非空格,tab健

常用的匹配規(guī)則-匹配字符數(shù)量

  • 匹配前一個(gè)字符出現(xiàn)0次或者無(wú)數(shù)次

  • 匹配前一個(gè)字符出現(xiàn)1次或者無(wú)數(shù)次

符號(hào)描述
?匹配前一個(gè)字符出現(xiàn)0次或者1次
{m}匹配前一個(gè)字符出現(xiàn)m次
{m,}匹配前一個(gè)字符出現(xiàn)至少m次
{n,m}匹配前一個(gè)字符出現(xiàn)n-m次
^匹配字符串開(kāi)頭
$匹配字符串結(jié)尾
|
(ab)將括號(hào)中字符作為一個(gè)分組

二、 實(shí)戰(zhàn):正則表達(dá)式判斷IPv4地址合法性

python正則表達(dá)式處理re.match()函數(shù),可以對(duì)字符進(jìn)行匹配,查找的位置是從指定的位置開(kāi)始一直往后找,返回第一個(gè)符合規(guī)則的對(duì)象,如果開(kāi)始位置不符合匹配隊(duì)形則返回None。而如果從起始位置開(kāi)始沒(méi)有匹配成功,即便其他部分包含需要匹配的內(nèi)容,re.match()也會(huì)返回None。
忘記的同學(xué)可以去看上篇文章講解

  • 問(wèn)題:假設(shè)有一個(gè)IP地址,如ip = ‘10.10.10.10’,如何檢測(cè)IPV4的IP地址格式是否正確?

    分析

    IPV4地址分四段,分別為:(1-255).(0-255).(0-255).(0-255)

    第一段分析,有以下5種情況:

    1-91位數(shù),由于是第一段,因此不能取0,1-9任意取
    10-991開(kāi)頭兩位數(shù),個(gè)位數(shù)0-9任意取
    100-1991開(kāi)頭三位數(shù),十位數(shù)和個(gè)位數(shù)0-9任意取
    200-2492開(kāi)頭三位數(shù),當(dāng)十位數(shù)為0-4時(shí)(即250以?xún)?nèi)),個(gè)位數(shù)0-9任意取
    250-2552開(kāi)頭三位數(shù),當(dāng)十位數(shù)為5時(shí)(大于等于250),個(gè)位數(shù)只能取0-5

    這五種情況對(duì)應(yīng)的正則如下:

    1-9[1-9]
    10-99[1-9]\d
    100-1991\d\d
    200-2492[0-4]\d
    250-25525[0-5]

    組合起來(lái)就是:

    [1-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]
    

    加個(gè)小括號(hào)組合起來(lái):

    ([1-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])
    

    后三段情況均一樣,有以下5中情況:

    0-91位數(shù),0-9任意取,唯一與第一段有區(qū)別的地方
    10-991開(kāi)頭兩位數(shù),個(gè)位數(shù)0-9任意取
    100-1991開(kāi)頭三位數(shù),十位數(shù)和個(gè)位數(shù)0-9任意取
    200-2492開(kāi)頭三位數(shù),當(dāng)十位數(shù)為0-4時(shí)(即250以?xún)?nèi)),個(gè)位數(shù)0-9任意取
    250-2552開(kāi)頭三位數(shù),當(dāng)十位數(shù)為5時(shí)(大于等于250),個(gè)位數(shù)只能取0-5

    這五種情況對(duì)應(yīng)的正則如下:

    0-9\d
    10-99[1-9]\d
    100-1991\d\d
    200-2492[0-4]\d
    250-25525[0-5]

    組合起來(lái)就是

    \d|\[1-9]\d|1\d\d|2[0-4]\d|25[0-5]
    

    第四段最后需要加上結(jié)尾符號(hào):$。表示終止匹配。

    最終結(jié)果:

    import re
    
    ip1 = '100.10.10.253'
    print(re.match(r'([1-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]).(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]).(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]).(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])$',ip1))
    
    *******************print*********************************
    <re.Match object; span=(0, 13), match='100.10.10.253'>
    
    ip2 = '0.10.10.253'
    print(re.match(r'([1-9]|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]).(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]).(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5]).(\d|[1-9]\d|1\d\d|2[0-4]\d|25[0-5])$',ip2))
    
    *******************print*********************************
    None
    

總結(jié) 

到此這篇關(guān)于正則表達(dá)式IP地址合法性判斷的文章就介紹到這了,更多相關(guān)正則表達(dá)式IP地址合法性判斷內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • 無(wú)殤 javascript正則練習(xí)器

    無(wú)殤 javascript正則練習(xí)器

    無(wú)殤寫(xiě)的javascript正則練習(xí)器,比較不錯(cuò),最后生成替換參數(shù),美中不足的就是替換無(wú)法使用,本人也試著修改因?yàn)樘鎿Q參數(shù)過(guò)多而無(wú)法實(shí)現(xiàn),希望會(huì)的朋友修正一下
    2007-06-06
  • js通過(guò)正則匹配沒(méi)有內(nèi)容的空標(biāo)簽

    js通過(guò)正則匹配沒(méi)有內(nèi)容的空標(biāo)簽

    這篇文章主要介紹了js通過(guò)正則匹配沒(méi)有內(nèi)容的空標(biāo)簽,需要的朋友可以參考下
    2020-02-02
  • 取字和字符的長(zhǎng)度

    取字和字符的長(zhǎng)度

    取字和字符的長(zhǎng)度...
    2006-07-07
  • 淺析正則表達(dá)式

    淺析正則表達(dá)式

    所謂的正則表達(dá)式,就是用一類(lèi)元字符(不表示本身意義,而表示統(tǒng)配或其他意義),組合其他字符所編數(shù)出來(lái)的,能夠匹配符合條件的字符
    2013-09-09
  • linux下如何配置SQLSERVER ODBC

    linux下如何配置SQLSERVER ODBC

    這篇文章主要介紹了linux下如何配置SQLSERVER ODBC的相關(guān)資料,需要的朋友可以參考下
    2015-09-09
  • Android中手機(jī)號(hào)、車(chē)牌號(hào)正則表達(dá)式大全

    Android中手機(jī)號(hào)、車(chē)牌號(hào)正則表達(dá)式大全

    這篇文章主要介紹了Android中手機(jī)號(hào)、車(chē)牌號(hào)正則表達(dá)式的相關(guān)資料,需要的朋友可以參考下
    2015-09-09
  • 最新版網(wǎng)址替換正則表達(dá)式

    最新版網(wǎng)址替換正則表達(dá)式

    這篇文章主要介紹了最新版網(wǎng)址替換正則表達(dá)式,本文給出了最新網(wǎng)址正則表達(dá)式和示例替換文本,需要的朋友可以參考下
    2015-04-04
  • 深入淺析正則表達(dá)式 捕獲組

    深入淺析正則表達(dá)式 捕獲組

    捕獲組(capturing group)是正則表達(dá)式里比較常用,也是比較重要的概念,我個(gè)人覺(jué)得掌握這部分的知識(shí)是非常重要的,感興趣的朋友跟隨小編一起看看吧
    2019-04-04
  • 正則表達(dá)式匹配用戶(hù)密碼

    正則表達(dá)式匹配用戶(hù)密碼

    這篇文章主要介紹了正則表達(dá)式匹配用戶(hù)密碼 的相關(guān)資料,需要的朋友可以參考下
    2016-03-03
  • 正則表達(dá)式之回溯

    正則表達(dá)式之回溯

    我通常在匹配一個(gè)字符串或是一組數(shù)字的時(shí)候會(huì)用到正則表達(dá)式,但很少會(huì)了解它是如何真正開(kāi)始工作的?它的工作原理是什么?其實(shí)正則表達(dá)式里面的貓膩還挺多水也挺深的,有時(shí)候還不太好理解。
    2010-04-04

最新評(píng)論