在线观看不卡亚洲电影_亚洲妓女99综合网_91青青青亚洲娱乐在线观看_日韩无码高清综合久久

鍍金池/ 教程/ C/ 分組
后向引用
零寬斷言
如何寫出高效率的正則表達式
平衡組/遞歸匹配
字符轉(zhuǎn)義
元字符
測試正則表達式
什么是正則表達式
重復(fù)
貪婪與懶惰
字符類
常用正則表達式
詳細語法
表達式全集
處理選項
負(fù)向零寬斷言
反義
分枝條件
注釋
分組
入門

分組

我們已經(jīng)提到了怎么重復(fù)單個字符(直接在字符后面加上限定符就行了);但如果想要重復(fù)多個字符又該怎么辦?你可以用小括號來指定子表達式(也叫做分組),然后你就可以指定這個子表達式的重復(fù)次數(shù)了,你也可以對子表達式進行其它一些操作(后面會有介紹)。

(\d{1,3}\.){3}\d{1,3}是一個簡單的IP地址匹配表達式。要理解這個表達式,請按下列順序分析它:\d{1,3}匹配 1 到 3 位的數(shù)字,(\d{1,3}\.){3}匹配三位數(shù)字加上一個英文句號(這個整體也就是這個分組)重復(fù) 3 次,最后再加上一個一到三位的數(shù)字(\d{1,3})。

不幸的是,它也將匹配 256.300.888.999 這種不可能存在的 IP 地址。如果能使用算術(shù)比較的話,或許能簡單地解決這個問題,但是正則表達式中并不提供關(guān)于數(shù)學(xué)的任何功能,所以只能使用冗長的分組,選擇,字符類來描述一個正確的 IP 地址:((2[0-4]\d|25[0-5]|[01]?\d\d?)\.){3}(2[0-4]\d|25[0-5]|[01]?\d\d?)

理解這個表達式的關(guān)鍵是理解2[0-4]\d|25[0-5]|[01]?\d\d?,這里我就不細說了,你自己應(yīng)該能分析得出來它的意義。

IP 地址中每個數(shù)字都不能大于 255. 經(jīng)常有人問我, 01.02.03.04 這樣前面帶有 0 的數(shù)字, 是不是正確的 IP 地址呢? 答案是: 是的, IP 地址里的數(shù)字可以包含有前導(dǎo) 0 (leading zeroes).