正則表達(dá)式PHP支持兩種風(fēng)格的正則表達(dá)式語法:POSIX和Perl。這兩種風(fēng)格的正則表達(dá)式是PHP編譯時的默認(rèn)風(fēng)格。在PHP5.3版本中,Perl風(fēng)格不能被禁用。然而,深圳網(wǎng)站制作公司這里將介紹更簡單的POSIX風(fēng)格,但如果你已經(jīng)是一位Perl程序員,或者希望了解更多關(guān)于PCRE的內(nèi)容,可以閱讀在線手冊:http://www.php.net/pcre。到目前為止,進(jìn)行的所有模式匹配都使用了字符串函數(shù)。只限于進(jìn)行精確匹配,或精確的子字符串匹配。如果希望完成一些更復(fù)雜的模式匹配,應(yīng)該用正則表達(dá)式。正則表達(dá)式在開始時很難掌握,但卻是非常有用的。
PHP網(wǎng)站制作關(guān)于字符類
正則表達(dá)式是一種描述一段文本模式的方法。到目前為止,前面所用到過的精確(文字)匹配也是一種正則表達(dá)式。例如,前面曾搜索過正則表達(dá)式的術(shù)語,如shop和delivery。在PHP中,匹配正則表達(dá)式更有點(diǎn)像strstr()匹配,而不像相等比較,因?yàn)槭窃谝粋€字符串的某個位置(如果不指明,則可能在字符串中的任何位置)匹配另一個字符串。例如,字符串"shop"匹配正則表達(dá)式shop。
它也可以匹配正則表達(dá)式h、ho等。除了精確匹配字符外,還可以用特殊字符來指定表達(dá)式的元意。例如,使用特殊字符,可以指定一個在字符串開始或末尾肯定存在的模式,該模式的某部分可能被重復(fù),或模式中的字符屬于特定的某一類型。此外,還可以按特殊字符的出現(xiàn)來匹配。使用字符集可以馬上給出比精確匹配功能還要強(qiáng)大的正則表達(dá)式。
字符集可以用于匹配屬于特定類型的任何字符,事實(shí)上它們是一種通配符。首先,可以用字符作為一個通配符來代替除換行符(\n)之外的任一個字符。例如,正則表達(dá)式:.at可以與cat、sat和mat等進(jìn)行匹配。通常,這種通配符匹配用于操作系統(tǒng)中的文件名匹配。但是,使用正則表達(dá)式,可以更具體地指明希望匹配的字符類型,而且可以指明字符所屬的一個集合。
在前面的例子中,正則表達(dá)式匹配cat和mat,但也可以匹配#at。如果要限定它是a到z之間的字符,就可以像下面這樣指明:[a-z]at任何包含在方括號中的內(nèi)容都是一個字符類,一個被匹配字符所屬的字符集合。注意,方括號中的表達(dá)式只匹配一個字符??梢粤谐鲆粋€集合,例如:[aeiou]
可以用來表示元音子母。也可以描述一個范圍,正如前面用連字符那樣,也可以是一個范圍集:[a-zA-Z]這個范圍集代表任何的大小寫字母。此外,還可以用集合來指明字符不屬于某個集。例如:[^a-z]可以用來匹配任何不在a和z之間的字符。當(dāng)把脫字符號(^)包括在方括號里面時,表示否定排出的意思。除列出了集合和范圍,許多預(yù)定義字符類也可以在正則表達(dá)式中使用,簡單說明如下。
★ [[:alnum:]]:文字?jǐn)?shù)字字符。
★ [[:alpha:]]:字母字符。
★ [[:lower:]]:小寫字母。
★ [[:upper:]]:大寫字母。
★ [[:digit:]]:小數(shù)。
★ [[:xdigit:]]:十六進(jìn)制數(shù)字。
★ [[:punct:]]:標(biāo)點(diǎn)符號。
★ [[:blank:]]:制表符和空格。
★ [[:space:]]:空白字符。
★ [[:cntrl:]]:控制符。
★ [[:print:]]:所有可打印的字符。
★ [[:graph:]]:除了空格外所有可打印字符。
好了,網(wǎng)站制作公司本文關(guān)于PHP語言“網(wǎng)站制作關(guān)于正則表達(dá)式解決方法”經(jīng)驗(yàn)就分享到這里,謝謝您的關(guān)注,博納網(wǎng)絡(luò)希望我們這關(guān)于網(wǎng)站設(shè)計制作方面的經(jīng)驗(yàn)知識能給你的工作有所幫助。