Python 正規表示式匹配ip格式詳解

2021-09-30 16:32:11 字數 917 閱讀 5584

python 正規表示式匹配ip格式詳解

以這條表示式為例:

其中最前面的   r'   防止轉義影響到我們的正規表示式;

我們知道ip段的單個值的範圍是0-255,該表示式匹配時把它分為3部分來匹配,即0-199,200-249,250-255,並用   |   來表示這三個數段中的任意一段為真即為真(成功匹配)。

第乙個   |   前的   [01]\d\d   用來匹配0-199;

[01]表示第一位數可以是0也可以是1,後面的表示至少匹配0次,需要匹配1次;再後面的\d代表著第二位數可以是0-9中的任意乙個數,同樣的後面的表示最少匹配0次,需匹配1次,這是考慮到人們在書寫ip位址時幾乎不會用001這樣的寫法,譬如不寫192.168.0.001,而是寫作192.168.0.1;最後用\d第三位數為任意的一位個位數字,即0-9。

第二個   |   前的   2[0-4]\d   則用來匹配200-249這個範圍的數值;

開頭的2代表著它的最高位為2,[0-4]即第二位數的取值範圍在0到4,\d即0-9;

後面的   25[0-5]   就更好理解了:250-255的數值。

合起來就是   [01]\d\d|2[0-4]\d|25[0-5]  

但這還不夠,因為我們的ip位址通常是由4段這樣的數值構成的,由於每段數值中間用  . (小數點)隔開,即***.***.***.***。

形象一點表示是這樣的:(0-255).(0-255).(0-255).(0-255)   

所以在後面我們要再匹配上小數點,即把前面的內容括起來加小數點匹配三次,實現(0-255).(0-255).(0-255)。

即:(([01]\d\d|2[0-4]\d|25[0-5])\.)

注意括號劃分優先順序。

最後再加上乙個(0-255)就行了,即 ([01]\d\d\d|2[0-4]\d|25[0-5])

python 正規表示式匹配ip

ipv4的ip正則匹配表示式 importre 簡單的匹配給定的字串是否是ip位址,下面的例子它不是ipv4的位址,但是它滿足正規表示式 if re.match r 0 9 0 9 272.168,1,1 print ip vaild else print ip invaild 精確的匹配給定的字串...

正規表示式 匹配IP 網域名稱

ip是由四段組成,每一段是0 255的數字,段與段之間用小數點隔開,比如192.168.1.1就是合法的ip位址。如果正規表示式寫成d d 無疑是不負責的,因為它可以匹配300.400.555.666這樣的非法ip字串。如果要匹配乙個0 255之間的數,有幾種匹配方式,下面是其中一種 匹配正規表示式...

正規表示式匹配ip位址

ipv4的ip位址都是 1 255 0 255 0 255 0 255 的格式 下面給出相對應的正規表示式 1 d 2 0 4 d 25 0 5 1 9 d 1 9 1 d 2 0 4 d 25 0 5 1 9 d d 1 d 2 0 4 d 25 0 5 1 9 d d 1 d 2 0 4 d 2...