首頁  >  文章  >  後端開發  >  php中正規表示式是什麼意思

php中正規表示式是什麼意思

青灯夜游
青灯夜游原創
2021-09-23 19:17:341938瀏覽

在php中,正規表示式是對字串運算的一種邏輯公式,是用事先定義好的一些特定字元、及這些特定字元的組合,組成一個“規則字串”,這個「規則字串」可用於表達對字串的一種過濾邏輯。正規表示式是在處理文字資料時的一項重要而複雜的技術。

php中正規表示式是什麼意思

本教學操作環境:windows7系統、PHP7.1版,DELL G3電腦

什麼是正規表示式

正規表示式是對字串運算的一種邏輯公式,就是用事先定義好的一些特定字元、及這些特定字元的組合,組成一個“規則字串”,這個“規則字元串」用來表達對字串的一種過濾邏輯。例如註冊用戶時常常需要用戶填寫 E-mail、電話、生日之類的有特定格式的數據,為了避免用戶胡亂填一些無效的數據,這時候就要用到正規表達式。

正規表示式也稱為模式表達式,本身俱有一套非常完整的、可以編寫模式的語法體系,提供了一種靈活且直觀的字串處理方法。正規表示式透過建構具有特定規則的模式,與輸入的字串資訊比較,在特定的函數中使用從而實現字串的匹配、查找、替換及分割等操作。

舉個我們在日常生活中的例子,如果想搜尋電腦某個目錄下的所有txt 格式的文件,就可以在該目錄下輸入*.txt,然後按回車鍵,就可以列出目錄下的所有txt 格式的檔案了。這裡使用到的*.txt就可以理解為一個簡單的正規表示式。

下面使用正規表示式的語法建構了兩個例子,如下所示:

/http(s)?:\/\/[\w.]+[\w\/]*[\w.]*\??[\w=&\+\%]*/is      // 匹配网址 URL 的正则表达式
/^\w{3,}@([a-z]{2,7}|[0-9]{3})\.(com|cn)$/                    // 匹配邮箱地址的正则表达式

不要被上例中看似亂碼的字串給嚇退,它們就是按照正則表達式的語法規則建構的,是一種由普通字元和具有特殊功能的字元組成的字串。而且要將這些字串放在特定的正規表示式函數中使用才有效果。

使用正規表示式的主要目的就是為了透過簡單的辦法來實現強大的功能。為了簡單、有效而又不失強大,造成了正規表示式規則的複雜,建構正確、有效的正規表示式更是難度較大,所以想要學好正規表示式需要付出一些努力才行。

正規表示式的用途

正規表示式描述的是一種字串比對模式,可以用來檢查一個字串中是否含有某種子字串、將符合的子字串做替換或從某個字串中取出符合某個條件的子字串等等。例如,當使用者提交表單後,要判斷輸入的電話號碼、E-mail 地址等是否有效,用普通的基於字面的字元驗證顯然是不夠的。

正規表示式是由普通字元(例如字元 a 到 z)以及特殊字元(稱為「元字元」)所組成的文字模式。正規表示式作為一個模板,將某個字元模式與所搜尋的字串進行比對。正規表示式的模式可以是單一的字元、字元集合、字元範圍、字元間的選擇或所有這些元件的任意組合。

使用正規表示式的目的就是可以透過簡單的辦法來實現強大的功能。為了簡單、有效而又不失強大,造成了正規表示式規則的複雜,建構正確、有效的正規表示式更是難度較大,所以需要付出一些努力才行。入門之後透過一定的參考和大量實踐,在開發實踐中使用正規表示式還是比較有效且有趣的。

在PHP 中使用正規表示式

PHP 有兩套函數庫支援的正規表示式處理操作:

一套是由PCRE (Perl Compatible Regular Expression)函式庫提供、與Perl 語言相容的正規表示式函數,以preg_為函數的前綴名稱;

另一套是POSIX(Portable Operating System Interface)擴充語法正規表示式函數,以ereg_為函數的前綴。

兩組函數庫的功能相似,但是 PCRE 的執行效率高於 POSIX,所以我們只介紹 PCRE 函數庫。

推薦學習:《PHP影片教學

以上是php中正規表示式是什麼意思的詳細內容。更多資訊請關注PHP中文網其他相關文章!

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