IPv4 位址匹配 正規表示式

2021-05-26 07:51:23 字數 683 閱讀 6168

最近在學習正規表示式的時候發現乙個很好的入門網頁:

在介紹分組的時候,舉了乙個ip位址匹配的例子:

((2[0-4]/d|25[0-5]|[01]?/d/d?)/.)(2[0-4]/d|25[0-5]|[01]?/d/d?)

這個表示式的/d/d?)處應該修改為/d?/d分析如下:

1)ip位址的長度為32位,分為4段,每段8位,用十進位制數字表示,每段數字範圍為0~255,段與段之間用英文句點「.」隔開。以255.226.168.1為例,可以分析出ip位址的組成特點,250——255、200——249、0——199 2)

250——255,用正則可以寫成:25[0-5];

200——249可以這樣寫:2[0-4]/d;

0——199有些麻煩,不過可以繼續分拆,這樣寫起來更加簡單明瞭,0——9、10——99、100——199,這樣分開考慮,就得到了三個式子:/d、/d/d(有冗餘)、1/d/d,這三個式子我們可以像合併同類項一樣把它們合併到一起:[01]?/d?/d

這樣,一段位址的表示式就是:2[0-4]/d|25[0-5]|[01]?/d?/d

後三段每段數字之前都有乙個「.」號,合併起來考慮,前三段數字可以寫到一起,第四段單獨寫,合併得到ip位址匹配的正規表示式:

((2[0-4]/d|25[0-5]|[01]?/d?/d)/.)(2[0-4]/d|25[0-5]|[01]?/d?/d)

IPv4位址正規表示式

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

c 正規表示式 ipv4位址

1 9 d 1 d d 2 0 4 d 25 0 5 1 9 d 1 d d 2 0 4 d 25 0 5 0 9 等價 d 字串裡有 0到9之間的數字字元即可匹配 如a1a 0 9 匹配字首為以上條件的字串 如 1aa 0 9 字串裡有除了0 9 以外的字元 即可匹配 如 a 0 9 匹配字尾為0...

檢查IPv4和IPv6位址的正規表示式

原文 今天看了點正規表示式 regular expression 的語法,學了下ipv4和ipv6位址的檢查方法。25 0 5 2 0 4 d 0 1 d d?25 0 5 2 0 4 d 0 1 d d?s 0 9a fa f 0 9a fa f 0 9a fa f 25 0 5 2 0 4 d ...