欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

匹配 IP 地址與域名的正則表達式

 更新時間:2015年09月23日 10:16:38   投稿:mrr  
本篇文章介紹了,用于匹配IP地址與域名的正則表達式,并對域名知識做了些介紹,有需要的朋友,可以參考下。

一個完整的域名,由根域、頂級域、二級、三級……域名構(gòu)成,每級域名之間用點分開,每級域名由字母、數(shù)字和減號構(gòu)成(第一個字母不能是減號),不區(qū)分大小寫,長度不超過63。

單獨的名字可以由正則表達式[a-zA-Z0-9][-a-zA-Z0-9]{0,62}來匹配,而完整的域名至少包括兩個名字(比如google.com,由google和com構(gòu)成),最后可以有一個表示根域的點(在規(guī)范中,最后有一個點的才是完整域名,但一般認為包括兩個以上名字的域名也是完整域名,哪怕它后面沒有點)。

匹配完整域名的正則表達式:

復制代碼 代碼如下:

[a-zA-Z0-9][-a-zA-Z0-9]{0,62}(\.[a-zA-Z0-9][-a-zA-Z0-9]{0,62})+\.?

一個IP字串,由四段組成,每一段是0~255的數(shù)字,段與段之間用小數(shù)點隔開,比如61.139.2.69就是一個合法的IP字串。

  如果正則表達式寫成\d{1,3}(\.\d{1,3}){3}無疑是不負責的,因為它可以匹配300.400.555.666這樣的非法IP字串。

  要匹配一個0~255之間的數(shù),有幾種匹配方式,下面是其中一種:

匹配 正則表達式 說明

  0~9 \d 單個數(shù)字
  10~99 [1-9]\d 兩位數(shù)
  100~199 1\d\d 百位為1的三位數(shù)
  200~249 2[0-4]\d 三位數(shù),百位是2,十位是0~9
  250~255 25[0-5] 三位數(shù),百位是2,十位是5,個位是0~5

  寫成正則表達式,即:(\d|([1-9]\d)|(1\d\d)|(2[0-4]\d)|(25[0-5])),但是這樣的正則表達式在匹配254這樣的字串時,會分別匹配2、5、4,得到3個匹配,達不到預期效果,正確做法是將次序顛倒為((25[0-5])|(2[0-4]\d)|(1\d\d)|([1-9]\d)|\d),因為在(xxx|yyy)這種匹配行為中,是從左向右搜索的。

  完整的正則表達式是: 

 

復制代碼 代碼如下:

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

  按:

  象061這樣的高位為0的數(shù)是不能被匹配的。

因此,最上面(1. 部分)的寫法才是正確完整版的,(2. 部分)的寫法較為片面

相關(guān)文章

  • 詳解基于Linux下正則表達式(基本正則和擴展正則命令使用實例)

    詳解基于Linux下正則表達式(基本正則和擴展正則命令使用實例)

    正則表達式應用廣泛,在絕大多數(shù)的編程語言都可以完美應用,在Linux中,也有著極大的用處。 有興趣的可以了解一下。
    2017-01-01
  • js正則學習小記之匹配字符串字面量

    js正則學習小記之匹配字符串字面量

    關(guān)于匹配字符串問題,有很多種類型,今天討論 js 代碼里的字符串匹配,因為我想學完之后寫個語法高亮練手,所以用js代碼當作例子
    2020-04-04
  • 編寫高質(zhì)量的js之正確理解正則表達式回溯

    編寫高質(zhì)量的js之正確理解正則表達式回溯

    在正則表達式實現(xiàn)中,回溯是匹配過程的基本組成部分,它是正則表達式如此好用和強大的根源。然而,回溯計算代價很高,如果設計失誤,將導致失控?;厮菔怯绊懻w性能的唯一因素,理解它的工作原理,以及如何減小使用頻率,可能是編寫高效正則表達式的關(guān)鍵點
    2016-12-12
  • 正則表達式合集和工具any-rule的使用

    正則表達式合集和工具any-rule的使用

    這篇文章主要介紹了正則表達式合集和工具any-rule的使用,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-10-10
  • Java正則表達式使用

    Java正則表達式使用

    本篇文章主要給大家介紹java在正則表達式的使用,本篇文章給大家主要介紹應用點在抓取網(wǎng)頁中的email地址和代碼統(tǒng)計,感興趣的朋友一起看看吧
    2015-09-09
  • 正則基礎之?捕獲組(capture?group)

    正則基礎之?捕獲組(capture?group)

    捕獲組就是把正則表達式中子表達式匹配的內(nèi)容,保存到內(nèi)存中以數(shù)字編號或顯式命名的組里,方便后面引用,這里就為大家簡單介紹一下
    2023-05-05
  • 你不一定知道的關(guān)于JavaScript的正則表達式

    你不一定知道的關(guān)于JavaScript的正則表達式

    關(guān)于JavaScript中的正則表達式——,你不一定知道也可能用不到,但說不定哪天就會遭遇的幾個事實【新增一個】
    2010-09-09
  • js使用正則子表達式匹配首字母與尾字母相同單詞的方法

    js使用正則子表達式匹配首字母與尾字母相同單詞的方法

    這篇文章主要介紹了js使用正則子表達式匹配首字母與尾字母相同單詞的方法,可實現(xiàn)將多行文本框中首位字母相同的單詞進行匹配的功能,具有一定參考借鑒價值,需要的朋友可以參考下
    2015-01-01
  • JS 密碼強度校驗的正則表達式(簡單且好用)

    JS 密碼強度校驗的正則表達式(簡單且好用)

    最近在做一個通行證的項目,在項目中有這樣的需求,注冊模塊中輸入密碼需要顯示密碼強度,今天小編給大家分享JS 密碼強度校驗的正則表達式,簡單好用,需要的朋友參考下
    2017-01-01
  • js正則表達式之replace函數(shù)用法

    js正則表達式之replace函數(shù)用法

    replace函數(shù)返回根據(jù)正則表達式進行文字替換后的字符串的復制
    2012-10-10

最新評論