-
正則匹配常用在表單驗(yàn)證上,一些字段會(huì)有一定的格式要求,比如用戶名一般都要求必須是字母、數(shù)字或下劃線組成,郵箱、電話等也都有自己的規(guī)則,因此使用正則表達(dá)式可以很好的對(duì)這些字段進(jìn)行驗(yàn)證。
我們通過(guò)案例來(lái)看一下一般的用戶注冊(cè)頁(yè),都怎樣對(duì)字段進(jìn)行驗(yàn)證
查看全部 -
正則表達(dá)式的搜索與替換在某些方面具有重要用途,比如調(diào)整目標(biāo)字符串的格式,改變目標(biāo)字符串中匹配字符串的順序等。
其中${1}與$1的寫法是等效的,表示第一個(gè)匹配的字串,$2代表第二個(gè)匹配的。
查看全部 -
preg_match只能匹配一次結(jié)果,但很多時(shí)候我們需要匹配所有的結(jié)果,preg_match_all可以循環(huán)獲取一個(gè)列表的匹配結(jié)果數(shù)組。
$matches結(jié)果排序?yàn)?matches[0]保存完整模式的所有匹配, $matches[1] 保存第一個(gè)子組的所有匹配,以此類推。
查看全部 -
preg_match用來(lái)執(zhí)行一個(gè)匹配,可以簡(jiǎn)單的用來(lái)判斷模式是否匹配成功,或者取得一個(gè)匹配結(jié)果,他的返回值是匹配成功的次數(shù)0或者1,在匹配到1次以后就會(huì)停止搜索。
查看全部 -
使用正則表達(dá)式的目的是為了實(shí)現(xiàn)比字符串處理函數(shù)更加靈活的處理方式,因此跟字符串處理函數(shù)一樣,其主要用來(lái)判斷子字符串是否存在、字符串替換、分割字符串、獲取模式子串等。
PHP使用PCRE庫(kù)函數(shù)來(lái)進(jìn)行正則處理,通過(guò)設(shè)定好模式,然后調(diào)用相關(guān)的處理函數(shù)來(lái)取得匹配結(jié)果。
查看全部 -
正則表達(dá)式中每個(gè)元字符匹配一個(gè)字符,當(dāng)使用+之后將會(huì)變的貪婪,它將匹配盡可能多的字符,但使用問(wèn)號(hào)?字符時(shí),它將盡可能少的匹配字符,既是懶惰模式。
當(dāng)我們確切的知道所匹配的字符長(zhǎng)度的時(shí)候,可以使用{}指定匹配字符數(shù)
查看全部 -
元字符具有兩種使用場(chǎng)景,一種是可以在任何地方都能使用,另一種是只能在方括號(hào)內(nèi)使用,在方括號(hào)內(nèi)使用的有:
\ 轉(zhuǎn)義字符
^ 僅在作為第一個(gè)字符(方括號(hào)內(nèi))時(shí),表明字符類取反
- 標(biāo)記字符范圍其中^在反括號(hào)外面,表示斷言目標(biāo)的開(kāi)始位置,但在方括號(hào)內(nèi)部則代表字符類取反,方括號(hào)內(nèi)的減號(hào)-可以標(biāo)記字符范圍,例如0-9表示0到9之間的所有數(shù)字。
查看全部 -
正則表達(dá)式中具有特殊含義的字符稱之為元字符,常用的元字符有:
\ 一般用于轉(zhuǎn)義字符
^ 斷言目標(biāo)的開(kāi)始位置(或在多行模式下是行首)
$ 斷言目標(biāo)的結(jié)束位置(或在多行模式下是行尾)
. 匹配除換行符外的任何字符(默認(rèn))
[ 開(kāi)始字符類定義
] 結(jié)束字符類定義
| 開(kāi)始一個(gè)可選分支
( 子組的開(kāi)始標(biāo)記
) 子組的結(jié)束標(biāo)記
? 作為量詞,表示 0 次或 1 次匹配。位于量詞后面用于改變量詞的貪婪特性。 (查閱量詞)
* 量詞,0 次或多次匹配
+ 量詞,1 次或多次匹配
{ 自定義量詞開(kāi)始標(biāo)記
} 自定義量詞結(jié)束標(biāo)記查看全部 -
PCRE庫(kù)函數(shù)中,正則匹配模式使用分隔符與元字符組成,分隔符可以是非數(shù)字、非反斜線、非空格的任意字符。經(jīng)常使用的分隔符是正斜線(/)、hash符號(hào)(#) 以及取反符號(hào)(~),
分隔符后面可以使用模式修飾符,模式修飾符包括:i, m, s, x等,例如使用i修飾符可以忽略大小寫匹配:
查看全部 -
正則表達(dá)式是對(duì)字符串進(jìn)行操作的一種邏輯公式,就是用一些特定的字符組合成一個(gè)規(guī)則字符串,稱之為正則匹配模式。
PHP中使用PCRE庫(kù)函數(shù)進(jìn)行正則匹配,比如上例中的preg_match用于執(zhí)行一個(gè)正則匹配,常用來(lái)判斷一類字符模式是否存在。
查看全部 -
對(duì)象復(fù)制,在一些特殊情況下,可以通過(guò)關(guān)鍵字clone來(lái)復(fù)制一個(gè)對(duì)象,這時(shí)__clone方法會(huì)被調(diào)用,通過(guò)這個(gè)魔術(shù)方法來(lái)設(shè)置屬性的值。
查看全部 -
方法的重載通過(guò)__call來(lái)實(shí)現(xiàn),當(dāng)調(diào)用不存在的方法的時(shí)候,將會(huì)轉(zhuǎn)為參數(shù)調(diào)用__call方法,當(dāng)調(diào)用不存在的靜態(tài)方法時(shí)會(huì)使用__callStatic重載。
查看全部 -
PHP中的重載指的是動(dòng)態(tài)的創(chuàng)建屬性與方法,是通過(guò)魔術(shù)方法來(lái)實(shí)現(xiàn)的。屬性的重載通過(guò)__set,__get,__isset,__unset來(lái)分別實(shí)現(xiàn)對(duì)不存在屬性的賦值、讀取、判斷屬性是否設(shè)置、銷毀屬性。
查看全部 -
類屬性必須定義為公有、受保護(hù)、私有之一。為兼容PHP5以前的版本,如果采用 var 定義,則被視為公有。
類中的方法可以被定義為公有、私有或受保護(hù)。如果沒(méi)有設(shè)置這些關(guān)鍵字,則該方法默認(rèn)為公有。
查看全部 -
被定義為公有的類成員可以在任何地方被訪問(wèn)。被定義為受保護(hù)的類成員則可以被其自身以及其子類和父類訪問(wèn)。被定義為私有的類成員則只能被其定義所在的類訪問(wèn)。
查看全部
舉報(bào)