版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)
文檔簡(jiǎn)介
8.1正則表達(dá)式簡(jiǎn)介、語法演講人1正則表達(dá)式簡(jiǎn)介012PHP正則表達(dá)式語法02目錄011正則表達(dá)式簡(jiǎn)介1正則表達(dá)式簡(jiǎn)介在某些應(yīng)用中,有時(shí)候需要根據(jù)一定的規(guī)則來匹配(查找)確認(rèn)一些字符串,如要求用戶輸入的QQ號(hào)碼為數(shù)字且至少5位。用于描述這些規(guī)則的工具就是正則表達(dá)式。1.1最簡(jiǎn)單的匹配最簡(jiǎn)單的匹配就是直接給定字符匹配。如用字符a去匹配aabab,則會(huì)匹配出3個(gè)結(jié)果,分別是字符串中的第1,2和第4個(gè)字符。這種匹配是最簡(jiǎn)單的情況,但往往實(shí)際處理中會(huì)復(fù)雜得多,如下面的“QQ號(hào)碼為數(shù)字且至少5位”,其對(duì)應(yīng)的正則表達(dá)式為:^\d{5,}$該正則表達(dá)式就描述需要確定的內(nèi)容為至少5位以上的數(shù)字。該表達(dá)式是怎么描述這一規(guī)則的:^:表示匹配字符串的開始,也即該字符串是獨(dú)立的開始而不是包含在某個(gè)字符串之內(nèi)\d:表示匹配數(shù)字{5,}:表示至少匹配5位及以上1.1最簡(jiǎn)單的匹配$:表示匹配字符串的結(jié)束,也即該字符串是獨(dú)立的結(jié)束現(xiàn)在就很清楚了,該正則表達(dá)式綜合起來就是匹配5位以上的連續(xù)數(shù)字,且有獨(dú)立的開始和結(jié)束,對(duì)于少于5位的數(shù)字,或者不是以數(shù)字開始和結(jié)尾的如a123456b這樣都是無效的。從該實(shí)例可以看出,正則表達(dá)式是從左至右描述的。同樣,如果要匹配移動(dòng)號(hào)碼的正則表達(dá)式為:^1\d{10}$提示由于對(duì)正則表達(dá)式的匹配結(jié)果,在很多情況下都不是那么確定,所以最好下載一些輔助工具用于測(cè)試正則表達(dá)式的匹配結(jié)果。這類工具如MatchTracer、RegExBuilder等,以及其他類似的工具也可。1.2元字符在上面的實(shí)例中,^、\d及$等這些符號(hào),代表了特定的匹配意義,稱之為元字符,常用的元字符如下:提示當(dāng)要匹配這些元字符的時(shí)候,需要用到字符轉(zhuǎn)義功能,同樣正則表達(dá)式里面用\來表示轉(zhuǎn)義,如要匹配.符號(hào),則需要用\.,否則.會(huì)被解釋成“除換行符外的任意字符”。當(dāng)然,要匹配\,則需要寫成\\連續(xù)的數(shù)字或字母可以用–符號(hào)連接起來,如匹配所有的小寫字母,[1-5]匹配1至5這5個(gè)數(shù)字022PHP正則表達(dá)式語法2.1重復(fù)規(guī)則正則表達(dá)式的威力在于其能夠在模式中包含選擇和循環(huán),正則表達(dá)式用一些重復(fù)規(guī)則來表達(dá)循環(huán)匹配。常用的重復(fù)如下:2.2分枝分枝是指制定幾個(gè)規(guī)則,如果滿足任意一種規(guī)則,則都當(dāng)作匹配成功。具體來說就是用|符號(hào)把各種規(guī)則分開,且條件從左至右匹配。提示由于分枝規(guī)定,只要匹配成功,就不再對(duì)后面的條件加以匹配,所以如果想匹配有包含關(guān)系的內(nèi)容,請(qǐng)注意規(guī)則的順序。下面是一個(gè)使用分枝的實(shí)例。美國(guó)的郵政編碼的規(guī)則是5個(gè)數(shù)字或者5個(gè)數(shù)字連上4個(gè)數(shù)字,如12345或者54321-1234,如果要匹配所有的郵編,則正確的正則表達(dá)式為:\d{5}-\d{4}|\d{5}//錯(cuò)誤寫法2.2分枝\d{5}|\d{5}-\d{4}下面的錯(cuò)誤寫法,只能匹配到5位數(shù)字及9位數(shù)字的前5位數(shù)字的情況,而不能匹配9位數(shù)字的郵編。2.3分組在正則表達(dá)式中,可以用小括號(hào)將一些規(guī)則括起來當(dāng)作分組,分組可以作為一個(gè)元字符來看待。分組的實(shí)例,驗(yàn)證IP地址:(\d{1,3}\.){3}\d{1,3}這是一個(gè)簡(jiǎn)單的且不完善的匹配IP地址的正則表達(dá)式,因?yàn)樗四芷ヅ湔_的IP地址外,還能匹配如322.197.578.888這種不存在的IP地址。當(dāng)然,用這個(gè)表達(dá)式簡(jiǎn)單匹配成功后可以在利用PHP的算術(shù)比較再加以判斷IP地址是否正確。而正則表達(dá)式中沒有提供算術(shù)比較功能,如果要完全匹配正確的IP地址,則需要改進(jìn)如下:((25[0-5]|2[0-4]\d|[01]?\d\d?)\.){3}(25[0-5]|2[0-4]\d|[01]?\d\d?)2.3分組規(guī)則說明該規(guī)則關(guān)鍵之處在于確定IP地址每一段范圍為0-255,然后再重復(fù)4次即可。在:25[0-5]|2[0-4]\d|[01]?\d\d?中,用分枝首先確定了250-255和200-249。[01]?\d\d?則確定了0-199的范圍,綜合起來就是0-255。2.4貪婪與懶惰正則表達(dá)式默認(rèn)的情況下,會(huì)在滿足匹配條件下盡可能的匹配更多內(nèi)容。如a.*b,用他來匹配aabab,它會(huì)匹配整個(gè)aabab,而不會(huì)只匹配到aab為止,這就是貪婪匹配。與貪婪匹配對(duì)應(yīng)的是,在滿足匹配條件的情況下盡可能的匹配更少的內(nèi)容,這就是懶惰匹配。上述實(shí)例對(duì)應(yīng)的懶惰匹配規(guī)則為:a.*?b如果用該表達(dá)式去匹配aabab
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。
最新文檔
- 2025年度教育裝備采購(gòu)會(huì)參展商合作框架合同3篇
- 個(gè)人理財(cái)協(xié)議書
- 全面創(chuàng)新科技布局
- 墻體保溫板采購(gòu)合同(2篇)
- 2024招投標(biāo)與合同管理法律顧問服務(wù)合同2篇
- 2024森林質(zhì)量精準(zhǔn)提升
- 2024年高速路改造工程:貴黃高速房屋拆遷補(bǔ)償合同
- 車輛定點(diǎn)維修合同書協(xié)議范本模板
- 純?nèi)斯趧?wù)分包合同
- 19只有一個(gè)地球說課稿-2024-2025學(xué)年六年級(jí)上冊(cè)語文統(tǒng)編版
- 建筑施工現(xiàn)場(chǎng)農(nóng)民工維權(quán)告示牌
- 《槍炮、病菌與鋼鐵》-基于地理視角的歷史解釋(沐風(fēng)學(xué)堂)
- 酒店爆炸及爆炸物品緊急處理應(yīng)急預(yù)案
- 2022年版物理課程標(biāo)準(zhǔn)的特點(diǎn)探討與實(shí)施建議
- 《中外資產(chǎn)評(píng)估準(zhǔn)則》課件第4章 國(guó)際評(píng)估準(zhǔn)則
- 幼兒園班級(jí)安全教育活動(dòng)計(jì)劃表
- 《銀行柜臺(tái)風(fēng)險(xiǎn)防控案例匯編》銀行柜臺(tái)風(fēng)險(xiǎn)案例
- 展館精裝修工程施工方案(98頁)
- 香港聯(lián)合交易所有限公司證券上市規(guī)則
- (高清正版)JJF 1908-2021 雙金屬溫度計(jì)校準(zhǔn)規(guī)范
- (高清版)嚴(yán)寒和寒冷地區(qū)居住建筑節(jié)能設(shè)計(jì)標(biāo)準(zhǔn)JGJ26-2018
評(píng)論
0/150
提交評(píng)論