使用正則表達式的目的是爲了實現比字符串處理函數更加靈活的處理方式,因此跟字符串處理函數一樣,其主要用來判斷子字符串是否存在、字符串替換、分割字符串、獲取模式子串等。
PHP使用PCRE庫函數來進行正則處理,通過設定好模式,然後調用相關的處理函數來取得匹配結果。
preg_match用來執行一個匹配,可以簡單的用來判斷模式是否匹配成功,或者取得一個匹配結果,他的返回值是匹配成功的次數0或者1,在匹配到1次以後就會停止搜索。
$subject = "abcdef"; $pattern = '/def/'; preg_match($pattern, $subject, $matches); print_r($matches); //結果爲:Array ( [0] => def )
上面的代碼簡單的執行了一個匹配,簡單的判斷def是否能匹配成功,但是正則表達式的強大的地方是進行模式匹配,因此更多的時候,會使用模式:
$subject = "abcdef"; $pattern = '/a(.*?)d/'; preg_match($pattern, $subject, $matches); print_r($matches); //結果爲:Array ( [0] => abcd [1] => bc )
通過正則表達式可以匹配一個模式,得到更多的有用的數據。