婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av

主頁 > 知識庫 > 正則表達式匹配IP的表達式(推薦)

正則表達式匹配IP的表達式(推薦)

熱門標簽:外呼系統無呼出路由是什么原因 地圖標注教學點 梅縣地圖標注 西藏智能外呼系統代理商 貴港公司如何申請400電話 呼叫系統外呼只能兩次 ai電話機器人搭建 400電話辦理電話辦理 甘肅醫療外呼系統排名

這里給大家詳細講解一下一個匹配IP地址的正則表達式,

  有關正則方面的知識,會在詳細的講解中提到。

  在講解之前,我先給大家介紹一下,ip地址的生成規則。

  IP地址,是由32位數字二進制轉為四個十進制的字符串組成。

  怎么轉化?下面講解:

      二進制:11111111111111111111111111111111

      分為四部分:11111111.11111111.11111111.11111111

      轉化:2^7+2^6+2^5+2^4+2^3+2^2+2^1+2^0=255

      轉為十進制范圍:0~255.0~255.0~255.0~255

      這就是IP地址的范圍。

      根據這個生成IP的規則和范圍,我們可以用正則表達式來匹配出IP地址,但怎么匹配呢?各人有各人的方法,這里我講解一下我的思路。

      根據IP地址的字符串規律,我把匹配IP地址的表達式分為兩部分來考慮。

      第一部分:匹配3個0~255.(注意后面的一個點)

      第二部分:匹配最后的數字0~255

      也就是說,先匹配出 0~255.(注意后面的一個點) 這個字符串,然后重復匹配3次,然后再匹配最后的數字部分0~255。這就是我匹配IP地址的思路。

       首先,我要提一下,正則是沒有辦法做數字運算的,所以,我們無法用數字運算的方式篩選出IP的數字范圍。既然沒法用數字運算的方式篩選出IP的數字范圍,那么我們應該用什么其他方式來篩選這個數字范圍呢?我的思路是分組討論,然后再把這些分組合并起來組成IP的數字范圍。

       ①、假設IP的數字是百位數,那么根據IP的數字范圍,我們可以得出下面幾種情況。假設第一個數字為1,那么這個數字的范圍就為1[0-9][0-9]。這個應該不難理解,就不解釋。

      ②、假設第一個數字為2,那么根據IP數字的范圍規則,這里又要分為兩種情況,為什么?你想想,最大數字是255,當十位數為5時,個位數最大只能為5是吧?而當十位數為0到4時,個位數可以是任意數字對吧?

      所以,這里的兩種情況分別為:

           A、2[0-4][0-9]

           B、25[0-5]

       ③、分析完了百位數的情況,接下來就是十位數的情況了,假如是十位數,那么十位數的前面第一個數不能為零是吧?

所以十位數的情況可以是:[1-9][0-9]

       ④、剩下的就是個位數的情況了,個位數的情況,大家應該很容易得出結論,就是:[0-9]。

       四種情況分析下來,我們得出了IP數字的范圍分組為:

        1[0-9][0-9]

        2[0-4][0-9]

        25[0-5]

        [1-9][0-9]

        [0-9]

       怎么把上面的分組用正則表達式表示出來呢?很簡單,用正則的或符號|和分組符號()就可以了,所以上面的分組正則表達式為:

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

        寫到這里,數字的匹配范圍正則表達式已經寫好了,那么根據我前面的思路: 第一部分:匹配3個0~255.(注意后面的一個點)

         第二部分:匹配最后的數字0~255

        我們來匹配IP地址的第一部分,正則表達式如下: 

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

   我在每個數字的后面加了一個點就是匹配出0~255.(注意后面的一個點)

         那么怎么重復匹配三次呢?很簡單,我們只要把這五個分組當成整體,再重復匹配三次就行了,正則表達式如下: 

((1[0-9][0-9]\.)|(2[0-4][0-9]\.)|(25[0-5]\.)|([1-9][0-9]\.)|([0-9])\.)){3}

         第一部分已經匹配出來了,接下來就是拼接上第二部分的數字了,數字部分上面已經寫得很清楚了,就不再解釋了,下面是完整的正則表達式:

((1[0-9][0-9]\.)|(2[0-4][0-9]\.)|(25[0-5]\.)|([1-9][0-9]\.)|([0-9]\.)){3}((1[0-9][0-9])|(2[0-4][0-9])|(25[0-5])|([1-9][0-9])|([0-9]))

      寫到這里,正則匹配IP的表達式已經出來了,不過,這并不是最終的匹配IP的正則表達式,為什么呢?很簡單,正則表達式會對每一個分組都進行捕獲匹配,上面把匹配IP分成了那么多分組,而每一個分組的內容都會被正則所捕獲,那上面不知道已經捕獲多少IP了,呵呵,那么怎么去掉分組的內容呢?很簡單,用這個符號?:

      ?:符號放在()圓括號里面,是捕獲分組,但不捕獲正則表達式的內容的意思。那么,我們把它放到每一個分組里面去,不就去掉了分組的內容了嗎?所以,我們還要給每個分組加上?:,加上后正則如下:

(?:(?:1[0-9][0-9]\.)|(?:2[0-4][0-9]\.)|(?:25[0-5]\.)|(?:[1-9][0-9]\.)|(?:[0-9]\.)){3}(?:(?:1[0-9][0-9])|(?:2[0-4][0-9])|(?:25[0-5])|(?:[1-9][0-9])|(?:[0-9]))

    即使到這里,還是沒有把IP地址匹配出來,我們還要用^和$來限制字符串的開頭和結尾,所以,最后的匹配IP地址的正則表達式是:

^(?:(?:1[0-9][0-9]\.)|(?:2[0-4][0-9]\.)|(?:25[0-5]\.)|(?:[1-9][0-9]\.)|(?:[0-9]\.)){3}(?:(?:1[0-9][0-9])|(?:2[0-4][0-9])|(?:25[0-5])|(?:[1-9][0-9])|(?:[0-9]))$

    這就是我匹配IP地址最完整的正則表達式,大家可以借鑒一下,有什么bug還望讀者提出,免得誤導其他讀者。

    上面的正則表達式的()括號都是成對出現的,假如有不成對出現,請讀者自己添加一下,可能是我漏寫了。

    下面是我的測試:

?php
$pattern = '/^(?:(?:2[0-4][0-9]\.)|(?:25[0-5]\.)|(?:1[0-9][0-9]\.)|(?:[1-9][0-9]\.)|(?:[0-9]\.)){3}(?:(?:2[0-5][0-5])|(?:25[0-5])|(?:1[0-9][0-9])|(?:[1-9][0-9])|(?:[0-9]))$/';
//正則匹配ip地址
$ip     = '254.21.0.198';
preg_match($pattern,$ip,$out);
echo 'pre>';
print_r($out);
$ip     = '255.777.0.198';
preg_match($pattern,$ip,$out);
print_r($out);
$ip     = '07.25.8.198';
preg_match($pattern,$ip,$out);
print_r($out);
$ip     = '1207.25.8.198';
preg_match($pattern,$ip,$out);
print_r($out);
$ip     = 'qq107.25.8.198';
preg_match($pattern,$ip,$out);
print_r($out);
$ip     = '\.\.\.107.25.8.198';
preg_match($pattern,$ip,$out);
print_r($out);
$ip     = '\.\.\.  7.25.8.198';
preg_match($pattern,$ip,$out);
print_r($out);
$ip     = '107.25.8.19822vvv';
preg_match($pattern,$ip,$out);
print_r($out);
$ip     = '107.25.r8.1982';
preg_match($pattern,$ip,$out);
print_r($out);
$ip     = '107.225.8.19';
preg_match($pattern,$ip,$out);
print_r($out);
$ip     = '225.225.225.225';
preg_match($pattern,$ip,$out);
print_r($out);
$ip     = '0.0.0.0';
preg_match($pattern,$ip,$out);
print_r($out);
$ip     = '00.0.0.0';
preg_match($pattern,$ip,$out);
print_r($out);
$ip     = '0.202.1.0';
preg_match($pattern,$ip,$out);
print_r($out);
$ip     = '0.202.1.226';
preg_match($pattern,$ip,$out);
print_r($out);
$ip     = '249.202.1.0';
preg_match($pattern,$ip,$out);
print_r($out);
$s='';
for($i=0;$i32;$i++){
  $s .= '1';
}
echo $s;
echo strlen($s);

您可能感興趣的文章:
  • Python使用中文正則表達式匹配指定中文字符串的方法示例
  • iOS 正則表達式判斷純數字及匹配11位手機號碼的方法
  • Go語言正則表達式用法實例小結【查找、匹配、替換等】
  • 正則表達式教程之重復匹配詳解
  • 正則表達式m修飾符(多行匹配)
  • 正則表達式全局匹配模式(g修飾符)
  • Java使用正則表達式(regex)匹配中文實例代碼
  • 正則表達式匹配(URL、電話、手機、郵箱)的實例代碼

標簽:本溪 大興安嶺 涼山 常州 哈密 湖州 泰安 海口

巨人網絡通訊聲明:本文標題《正則表達式匹配IP的表達式(推薦)》,本文關鍵詞  正則,表達式,匹配,的,推薦,;如發現本文內容存在版權問題,煩請提供相關信息告之我們,我們將及時溝通與處理。本站內容系統采集于網絡,涉及言論、版權與本站無關。
  • 相關文章
  • 下面列出與本文章《正則表達式匹配IP的表達式(推薦)》相關的同類信息!
  • 本頁收集關于正則表達式匹配IP的表達式(推薦)的相關信息資訊供網民參考!
  • 推薦文章
    婷婷综合国产,91蜜桃婷婷狠狠久久综合9色 ,九九九九九精品,国产综合av
    日韩女优电影在线观看| 欧美日韩一区不卡| 精品一区二区在线免费观看| 麻豆一区二区99久久久久| 久久精品国产澳门| 国产一区二三区好的| 国产成人久久精品77777最新版本| 精品综合免费视频观看| 国产ts人妖一区二区| 成人精品国产福利| 91福利国产精品| 欧美一区二区三区四区高清| 日韩小视频在线观看专区| 久久久www成人免费无遮挡大片| 国产精品入口麻豆原神| 亚洲专区一二三| 免费在线看成人av| 国产麻豆成人传媒免费观看| av成人老司机| 欧美日韩1234| 国产欧美一区二区精品性色| 一区二区三区在线视频观看58| 天堂精品中文字幕在线| 国产精品一区专区| 欧美亚洲另类激情小说| 精品美女一区二区三区| 综合电影一区二区三区| 爽爽淫人综合网网站| 韩国三级中文字幕hd久久精品| 91亚洲永久精品| 精品女同一区二区| 夜夜精品视频一区二区| 国产一区二区在线视频| 在线观看日韩国产| 国产亚洲欧美色| 亚洲一区二区三区四区的| 国产成人免费在线观看| 欧美精品18+| 国产精品久久久久久久久图文区 | 蜜臀av性久久久久av蜜臀妖精| 国产成人精品在线看| 91精品国产高清一区二区三区| 国产精品家庭影院| 精品一区二区三区的国产在线播放| 色视频一区二区| 日本一区二区综合亚洲| 麻豆免费精品视频| 欧美精选在线播放| 一区二区三区欧美激情| 国产91露脸合集magnet| 亚洲精品一区在线观看| 午夜精品在线看| 日本丶国产丶欧美色综合| 久久久久久久综合狠狠综合| 日韩av一区二区在线影视| 在线观看亚洲精品| 亚洲人成精品久久久久| 成人午夜私人影院| 欧美va亚洲va国产综合| 蜜臀91精品一区二区三区| 欧美喷水一区二区| 亚洲一区二区三区四区五区黄 | 欧洲亚洲国产日韩| 国产精品国产自产拍高清av | 91精品欧美久久久久久动漫 | 成人av电影在线网| 国产日韩欧美高清| 国产激情精品久久久第一区二区| 亚洲精品一区二区三区四区高清| 久久精品国产成人一区二区三区| 欧美一区三区四区| 精品在线观看视频| 久久综合色鬼综合色| 国产一区视频导航| 国产精品人人做人人爽人人添 | 亚洲美女视频一区| 在线欧美一区二区| 香蕉影视欧美成人| 欧美日韩国产综合久久| 日韩精品电影一区亚洲| 精品久久久久久综合日本欧美| 黑人巨大精品欧美一区| 国产欧美精品一区二区色综合| 白白色 亚洲乱淫| 依依成人精品视频| 56国语精品自产拍在线观看| 麻豆视频一区二区| 国产欧美一区二区在线| 97久久人人超碰| 午夜精品久久久| 精品国产污污免费网站入口 | 中文字幕亚洲一区二区va在线| 不卡av电影在线播放| 一区二区理论电影在线观看| 91精品国产综合久久国产大片| 精品在线观看免费| 亚洲欧洲日韩一区二区三区| 欧美系列亚洲系列| 国产最新精品免费| 亚洲理论在线观看| 日韩精品影音先锋| www.爱久久.com| 日本视频免费一区| 国产精品毛片高清在线完整版| 欧洲av在线精品| 国产一区二区三区美女| 亚洲综合成人在线视频| 337p日本欧洲亚洲大胆色噜噜| 色综合久久久久久久久| 久久99久久99精品免视看婷婷| 中文字幕中文字幕一区| 日韩免费高清视频| 色诱视频网站一区| 国产真实乱偷精品视频免| 亚洲欧美另类在线| 日韩欧美不卡一区| 欧美日韩在线不卡| 成人h动漫精品一区二区| 免费一级欧美片在线观看| 亚洲欧美另类久久久精品| 欧美zozozo| 91精品国产欧美一区二区成人 | 日本精品视频一区二区三区| 国内精品写真在线观看| 亚洲国产一区二区视频| 国产欧美一区二区在线| 日韩免费视频一区| 欧美日韩久久久| 欧美在线视频全部完| 99久久伊人网影院| 韩国毛片一区二区三区| 热久久免费视频| 亚洲不卡一区二区三区| 亚洲乱码中文字幕| 国产精品私人影院| 国产婷婷色一区二区三区 | 91蜜桃在线观看| 成人国产亚洲欧美成人综合网| 国产一区二区毛片| 国产一区在线观看视频| 精彩视频一区二区三区| 另类专区欧美蜜桃臀第一页| 日韩国产欧美在线视频| 日产欧产美韩系列久久99| 日韩高清不卡一区二区三区| 日本不卡一二三| 日本va欧美va瓶| 九九精品一区二区| 激情综合色综合久久综合| 韩国成人精品a∨在线观看| 国产在线一区观看| 国产精品资源网站| 成人不卡免费av| 91香蕉视频黄| 欧美三级三级三级| 欧美一区二区三区免费视频| 2欧美一区二区三区在线观看视频| 精品捆绑美女sm三区| 久久久久久久久久久99999| 亚洲国产高清在线观看视频| 国产精品久久久久7777按摩| 国产精品不卡一区二区三区| 亚洲精品中文在线影院| 午夜精品免费在线| 精品一区二区三区久久久| 国产999精品久久久久久| 99re这里只有精品视频首页| 欧美午夜精品电影| 精品久久久久久久一区二区蜜臀| 欧美激情一区二区三区四区| 一区二区三区在线免费观看 | 99在线视频精品| 欧美怡红院视频| 久久久www成人免费毛片麻豆| 国产精品久久久久久久久晋中| 亚洲欧美一区二区不卡| 热久久国产精品| www.日本不卡| 日韩欧美色电影| 国产精品国产精品国产专区不片 | 99久久综合狠狠综合久久| 欧美色国产精品| 中文字幕精品一区二区精品绿巨人| 夜色激情一区二区| 国产精品一二三四| 欧美精品日韩一本| 国产精品婷婷午夜在线观看| 日韩经典中文字幕一区| 国产成人高清视频| 91精品国产全国免费观看| 中文字幕一区不卡| 国产一区二区免费看| 欧美日韩国产一级| 亚洲天堂久久久久久久| 久久99热狠狠色一区二区| 欧美亚洲一区二区在线观看| 国产精品免费丝袜| 国产一区欧美日韩| 欧美一区二区精品在线| 亚洲午夜久久久久久久久电影院 |