使用正則表達(dá)式的目的是為了實(shí)現(xiàn)比字符串處理函數(shù)更加靈活的處理方式,因此跟字符串處理函數(shù)一樣,其主要用來判斷子字符串是否存在、字符串替換、分割字符串、獲取模式子串等。
PHP使用PCRE庫函數(shù)來進(jìn)行正則處理,通過設(shè)定好模式,然后調(diào)用相關(guān)的處理函數(shù)來取得匹配結(jié)果。
preg_match用來執(zhí)行一個(gè)匹配,可以簡(jiǎn)單的用來判斷模式是否匹配成功,或者取得一個(gè)匹配結(jié)果,他的返回值是匹配成功的次數(shù)0或者1,在匹配到1次以后就會(huì)停止搜索。
$subject = "abcdef"; $pattern = '/def/'; preg_match($pattern, $subject, $matches); print_r($matches); //結(jié)果為:Array ( [0] => def )
上面的代碼簡(jiǎn)單的執(zhí)行了一個(gè)匹配,簡(jiǎn)單的判斷def是否能匹配成功,但是正則表達(dá)式的強(qiáng)大的地方是進(jìn)行模式匹配,因此更多的時(shí)候,會(huì)使用模式:
$subject = "abcdef"; $pattern = '/a(.*?)d/'; preg_match($pattern, $subject, $matches); print_r($matches); //結(jié)果為:Array ( [0] => abcd [1] => bc )
通過正則表達(dá)式可以匹配一個(gè)模式,得到更多的有用的數(shù)據(jù)。
編寫代碼使用preg_match匹配字符串中的郵箱,并輸出該郵箱。
匹配email的方法有很多,可以參考以下代碼:
$subject = "my email is spark@imooc.com"; $pattern = '/[\w\-]+@\w+\.\w+/'; preg_match($pattern, $subject, $matches); echo $matches[0];
請(qǐng)驗(yàn)證,完成請(qǐng)求
由于請(qǐng)求次數(shù)過多,請(qǐng)先驗(yàn)證,完成再次請(qǐng)求
打開微信掃碼自動(dòng)綁定
綁定后可得到
使用 Ctrl+D 可將課程添加到書簽
舉報(bào)