正規表示式(regular expression) 是一種文字模式,包括普通字元和特殊字元(元字元)。正規表示式使用單一字串來描述、匹配一系列符合某個句法規則的字串。
透過正規表示式,可以:
測試字串內的模式(資料驗證)、取代文字、基於模式匹配從字串中提取子字串(推薦學習:PHP程式設計從入門到精通)
#在php中,提供了preg_math()和preg_match_all函數進行正規比對。關於這兩個函數原型如下:
int preg_match|preg_match_all ( string $pattern , string $subject [, array &$matches [, int $flags = 0 [, int $offset = 0 ]]] )
搜尋subject與pattern給定的正規表示式的一個符合.
pattern:要搜尋的模式,字串型別。
subject :輸入字串。
matches:如果提供了參數matches,它將被填入搜尋結果。 matches[0]將包含完整模式匹配到的文本,matches[1]將包含第一個捕獲子組匹配到的文本,以此類推。
flags:
flags可以被設定為以下標記值:PREG_OFFSET_CAPTURE 如果傳遞了這個標記,對於每一個出現的匹配返回時會附加字串偏移量(相對於目標字符串的)。
注意:這會改變填滿到matches參數的數組,使其每個元素成為一個由第0個元素是匹配到的字串,第1個元素是該匹配字串在目標字串subject中的偏移量。
offset:通常,搜尋從目標字串的起始位置開始。可選參數 offset 用於 指定從目標字串的某個未知開始搜尋(單位是位元組)。
傳回值:
preg_match()傳回 pattern 的符合次數。它的值將是0次(不匹配)或1次,因為 preg_match()在第一次匹配後 將會停止搜尋。 preg_match_all()不同於此,它會一直搜尋subject直到到達結尾。如果發生錯誤 preg_match()回傳 FALSE。
使用正規
因為我們只需要判斷是否存在即可,所以選擇preg_match。
$str='http://blog.csdn.net/hsd2012'; $pattern='/csdn/'; function checkStr2($str,$str2) { return preg_match($str2,$str)?true:false; } echo checkStr2($str,$pattern);
以上是PHP可以使用正規表示式嗎的詳細內容。更多資訊請關注PHP中文網其他相關文章!