正則表達(dá)式語法完全解析_第1頁
正則表達(dá)式語法完全解析_第2頁
正則表達(dá)式語法完全解析_第3頁
正則表達(dá)式語法完全解析_第4頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡介

1、正則表達(dá)式語法完全解析這個(gè)是我以前學(xué)正則表達(dá)式最怕的部分,搞的似懂非懂,現(xiàn)在又一次學(xué)到這了1、a-zat任何包含在方括號中的內(nèi)容都是一個(gè)字符類-一個(gè)被匹配字符所屬的字符集合。方括號中的表達(dá)式只匹配一個(gè)字符2、a-z用來匹配任何不在a和z之間的字符。當(dāng)吧脫字符號()包括在方括號里面時(shí),表示否。3、用戶posix風(fēng)格的正則表達(dá)式的字符集:alnum:文字?jǐn)?shù)字字符:alpha:字母字符:lower:小寫字母:upper:大寫字母:digit:小數(shù):xdigit:十六進(jìn)制數(shù):punct:標(biāo)點(diǎn)符號:blank:制表符和空格:space:空白字符:cntrl:控制符:print:所有可打印的字符:grap

2、h:除空格外所有可打印的字符4、重復(fù)*表示這個(gè)模式可以被重復(fù)0次或更多次+表示這個(gè)模式可以被重復(fù)1次或更多次以上兩個(gè)符號應(yīng)該放在要作用的表達(dá)式的后面。例如::alnum:+表示“至少有1個(gè)字母字符”5、(very )*large可以匹配large very large very very large 等等。6、子表達(dá)式計(jì)數(shù)可以用在花括號()中的數(shù)字表達(dá)式來指定內(nèi)容允許重復(fù)的次數(shù)。a.可以指定一個(gè)確切的重復(fù)次數(shù),如3表示重復(fù)3次b.指定重復(fù)次數(shù)的范圍2,4表示重復(fù)2-4次c.開底域的重復(fù)范圍,如2,表示至少要重復(fù)兩次例如:(very )(1,3)表示匹配“very”,“very very ”和“

3、very very very ”。7、定位到字符串的開始或末尾a.脫字符號()用戶正則表達(dá)式的開始,表示子字符串必須出現(xiàn)在被搜索字符串的開始處b.字符“$”用于正則表達(dá)式的末尾,表示子字符串必須出現(xiàn)在字符串的末尾。a-z$這個(gè)模式將匹配只包含a到z之間一個(gè)字符的字符串8、分支可以用正則表達(dá)式中的一條豎線來表示1個(gè)選擇。例如,如果要匹配com,edu或net,就可以使用如下所以的表達(dá)式:com|edu|net9、匹配特殊字符-基本是全文摘抄如果要匹配特殊字符,例如,.、或者$,就必須在他們前面加一個(gè)反斜杠().如果要匹配一個(gè)反斜杠,則必須用兩個(gè)反斜杠()來表示。在php中,必須將正則表達(dá)式模式包

4、括在一個(gè)單引號字符串中。使用雙引號引用的正則表達(dá)式將帶來一些不必要復(fù)雜性php還使用反斜杠來轉(zhuǎn)義特殊字符-例如反斜杠如果希望在模式中匹配一個(gè)反斜杠,必須使用兩個(gè)反斜杠來表示好它是一個(gè)反斜杠字符,而不是一個(gè)轉(zhuǎn)義字符。同樣,由于相同的原因,如果希望在一個(gè)雙引號引用的php字符串中使用反斜杠支付,必須使用兩個(gè)反斜杠。這樣要求的結(jié)果將是表示一個(gè)包含了反斜杠字符的正則表達(dá)式的一個(gè)php字符串需要4個(gè)反斜杠。php解釋器將這4個(gè)反斜杠解釋成2個(gè),然后,再由正則表達(dá)式解釋器解析為一個(gè)。$符號也是雙引號引用的php字符串和正則表達(dá)式的特殊支付。要使一個(gè)$字符能夠在模式中匹配,必須使用“$”。因?yàn)檫@個(gè)字符串被引

5、用在雙引號中,php解釋器將其解析為“$”,再會(huì)有正則表達(dá)式解釋器將其解析成一個(gè)$字符。10、特殊字符一覽在posix正則表達(dá)式中,用于方括號外面特殊字符的摘要轉(zhuǎn)意字符在字符串開始匹配$在字符串末尾匹配.匹配除換行符(n)之外的字符|選擇分支的開始(子模式的開始)子模式的結(jié)束*重復(fù)0次或更多次+重復(fù)一次或更多次最小/最大量記號的開始最小/最大量記號的結(jié)束?標(biāo)記一個(gè)子模式為可選的posix正則表達(dá)式中,用于方括號里面特殊字符的摘要轉(zhuǎn)意字符非,僅用在開始位置-用于指明字符范圍11、應(yīng)用中需要注意的問題1)當(dāng)一個(gè)在字符類的開始或末尾處使用點(diǎn)號時(shí),它將失去其特殊通配符的意義,只能成為一個(gè)點(diǎn)號字符2)我

6、們在字符類外部使用點(diǎn)號時(shí),必須對其轉(zhuǎn)意,使其能夠匹配一個(gè)點(diǎn)號12、相關(guān)函數(shù)1)ereg()int ereg(string pattern, string search, array matches);該函數(shù)搜索字符串search,在pattern中尋找與正則表達(dá)式相匹配的字符串。如果發(fā)現(xiàn)了與pattern的子表達(dá)式相匹配的字符串,這些字符串將會(huì)存儲(chǔ)在數(shù)組matches中,沒個(gè)數(shù)組元素對應(yīng)一個(gè)子表達(dá)式函數(shù)eregi()除了不區(qū)分大小寫外,其他功能與ereg()一樣2)查找和替換子字符串: ereg_replace()和eregi_replace()string ereg_replace(string pattern,string replacement, string search);該函數(shù)在字符串search中查找正則表達(dá)式pattern的字符串,并且用字符串replacement來替換。3)分割字符串:split()array split (string pattern ,string search, int max);這個(gè)函數(shù)將字符串search分割成符合正則表達(dá)式模式的子字符串,然后將子字符串返回到一個(gè)數(shù)組中,整數(shù)max指定進(jìn)入數(shù)組的元素個(gè)數(shù)。注意:一般而言,對于相同的功能,正則表達(dá)式函數(shù)運(yùn)行效率低于字符串函數(shù)

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲(chǔ)空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

最新文檔

評論

0/150

提交評論