首頁  >  文章  >  後端開發  >  PHP可以使用正規表示式嗎

PHP可以使用正規表示式嗎

(*-*)浩
(*-*)浩原創
2019-09-24 13:40:382547瀏覽

正規表示式(regular expression) 是一種文字模式,包括普通字元和特殊字元(元字元)。正規表示式使用單一字串來描述、匹配一系列符合某個句法規則的字串。

PHP可以使用正規表示式嗎

透過正規表示式,可以:

測試字串內的模式(資料驗證)、取代文字、基於模式匹配從字串中提取子字串(推薦學習: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中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn