W3Cschool
恭喜您成為首批注冊(cè)用戶
獲得88經(jīng)驗(yàn)值獎(jiǎng)勵(lì)
我們已經(jīng)提到了怎么重復(fù)單個(gè)字符(直接在字符后面加上限定符就行了);但如果想要重復(fù)多個(gè)字符又該怎么辦?你可以用小括號(hào)來指定子表達(dá)式(也叫做分組),然后你就可以指定這個(gè)子表達(dá)式的重復(fù)次數(shù)了,你也可以對(duì)子表達(dá)式進(jìn)行其它一些操作(后面會(huì)有介紹)。
(\d{1,3}\.){3}\d{1,3}
是一個(gè)簡(jiǎn)單的IP地址匹配表達(dá)式。要理解這個(gè)表達(dá)式,請(qǐng)按下列順序分析它:\d{1,3}
匹配 1 到 3 位的數(shù)字,(\d{1,3}\.){3}
匹配三位數(shù)字加上一個(gè)英文句號(hào)(這個(gè)整體也就是這個(gè)分組)重復(fù) 3 次,最后再加上一個(gè)一到三位的數(shù)字(\d{1,3}
)。
不幸的是,它也將匹配 256.300.888.999 這種不可能存在的 IP 地址。如果能使用算術(shù)比較的話,或許能簡(jiǎn)單地解決這個(gè)問題,但是正則表達(dá)式中并不提供關(guān)于數(shù)學(xué)的任何功能,所以只能使用冗長的分組,選擇,字符類來描述一個(gè)正確的 IP 地址:((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)
。
理解這個(gè)表達(dá)式的關(guān)鍵是理解2[0-4]\d|25[0-5]|[01]?\d\d?
,這里我就不細(xì)說了,你自己應(yīng)該能分析得出來它的意義。
IP 地址中每個(gè)數(shù)字都不能大于 255. 經(jīng)常有人問我, 01.02.03.04 這樣前面帶有 0 的數(shù)字, 是不是正確的 IP 地址呢? 答案是: 是的, IP 地址里的數(shù)字可以包含有前導(dǎo) 0 (leading zeroes).
Copyright©2021 w3cschool編程獅|閩ICP備15016281號(hào)-3|閩公網(wǎng)安備35020302033924號(hào)
違法和不良信息舉報(bào)電話:173-0602-2364|舉報(bào)郵箱:jubao@eeedong.com
掃描二維碼
下載編程獅App
編程獅公眾號(hào)
聯(lián)系方式:
更多建議: