亚洲乱码中文字幕综合,中国熟女仑乱hd,亚洲精品乱拍国产一区二区三区,一本大道卡一卡二卡三乱码全集资源,又粗又黄又硬又爽的免费视频

匹配 IP 地址與域名的正則表達(dá)式

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

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

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

匹配完整域名的正則表達(dá)式:

復(fù)制代碼 代碼如下:

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

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

  如果正則表達(dá)式寫成\d{1,3}(\.\d{1,3}){3}無(wú)疑是不負(fù)責(zé)的,因?yàn)樗梢云ヅ?00.400.555.666這樣的非法IP字串。

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

匹配 正則表達(dá)式 說(shuō)明

  0~9 \d 單個(gè)數(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,個(gè)位是0~5

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

  完整的正則表達(dá)式是: 

 

復(fù)制代碼 代碼如下:

((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下正則表達(dá)式(基本正則和擴(kuò)展正則命令使用實(shí)例)

    詳解基于Linux下正則表達(dá)式(基本正則和擴(kuò)展正則命令使用實(shí)例)

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

    js正則學(xué)習(xí)小記之匹配字符串字面量

    關(guān)于匹配字符串問(wèn)題,有很多種類型,今天討論 js 代碼里的字符串匹配,因?yàn)槲蚁雽W(xué)完之后寫個(gè)語(yǔ)法高亮練手,所以用js代碼當(dāng)作例子
    2020-04-04
  • 編寫高質(zhì)量的js之正確理解正則表達(dá)式回溯

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

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

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

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

    Java正則表達(dá)式使用

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

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

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

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

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

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

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

    JS 密碼強(qiáng)度校驗(yàn)的正則表達(dá)式(簡(jiǎn)單且好用)

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

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

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

最新評(píng)論