IPv4的正則表達式

Q: 校驗一個ipv4的地址正則表達式

概述

一個合法的IPv4地址由4組數字組成,每組數字之間以.分隔,且取值範圍是0-255。每組許可範圍總結爲如下4點:bash

描述 範圍 正則表達式
任何一個1位或2位數字 0-99 \d{1,2}
任何一個以1開頭的3位數字 100-199 1\d{2}
任何一個以2開頭、第2位數字是0-4之間的3位數字 200-249 2[0-4]\d
任何一個以25開頭,第3位數字在0-5之間的3位數字 250-255 25[0-5]

因此IPv4的每組數字可表示爲:spa

(\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5])
複製代碼

注:每種狀況務必加上(),由於元字符|對鄰接的字符/字符集/子表達式都起做用。
進而,IPv4的完整正則表達式爲:code

(((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))\.){3}((\d{1,2})|(1\d{2})|(2[0-4]\d)|(25[0-5]))
複製代碼

Tip

上面這個IPv4正則表達式看起來很複雜,可是將其拆開理解就容易多了。所以,在分析正則表達式的時候,應該按照子表達式先內後外的原則來進行,而不是從第一個字符開始一個字符一個字符地去嘗試。ip

相關文章
相關標籤/搜索