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...