PHP 限定符(? * +{n,m})
經(jīng)常使用Google的用戶可能會發(fā)現(xiàn),在搜索結(jié)果頁的下方,Google中間字母o的個(gè)數(shù)會隨著搜索頁的改變而改變。那么要匹配該字串的正則表達(dá)式該如何實(shí)現(xiàn)呢?
對于這類重復(fù)出現(xiàn)字母或字串,可以使用限定符來實(shí)現(xiàn)匹配。限定符主要有6種,如表所示。
限定符 | 說 明 | 舉 例 |
? | 匹配前面的字符零次或一次 | colou?r,該表達(dá)式可以匹配colour和color |
+ | 匹配前面的字符一次或多次 | go+gle,該表達(dá)式可以匹配的范圍從gogle到gocr"gle |
* | 匹配前面的字符零次或多次 | go*gle,該表達(dá)式可以匹配的范圍從ggle到goo…gle |
{n} | 匹配前面的字符n次 | go{2}gle,該表達(dá)式只匹配google |
{n,} | 匹配前面的字符最少n次 | go{2,}gle,該表達(dá)式可以匹配的范圍從google到goo…gle |
{n,m} | 匹配前面的字符最少n次,最多m次 | employe{0,2},該表達(dá)式可以匹配employ、employe 和 employee 3種情況 |
可以發(fā)現(xiàn),在表中實(shí)際己經(jīng)對字符串進(jìn)行了匹配,只是還不完善。通過觀察發(fā)現(xiàn),當(dāng)Google搜索結(jié)果只有一頁時(shí),不顯示Google標(biāo)志,只有大于等于2時(shí),才顯示Google。說明字母o最少為兩個(gè),最多為20個(gè),那么正則表達(dá)式為:
go{2,20}gle
點(diǎn)擊加載更多評論>>