如何理解php中正則表達式

本篇文章給大家分享的是有關(guān)如何理解php中正則表達式,小編覺得挺實用的,因此分享給大家學(xué)習(xí),希望大家閱讀完這篇文章后可以有所收獲,話不多說,跟著小編一起來看看吧。

創(chuàng)新互聯(lián)公司成立十多年來,這條路我們正越走越好,積累了技術(shù)與客戶資源,形成了良好的口碑。為客戶提供成都網(wǎng)站設(shè)計、網(wǎng)站建設(shè)、網(wǎng)站策劃、網(wǎng)頁設(shè)計、域名申請、網(wǎng)絡(luò)營銷、VI設(shè)計、網(wǎng)站改版、漏洞修補等服務(wù)。網(wǎng)站是否美觀、功能強大、用戶體驗好、性價比高、打開快等等,這些對于網(wǎng)站建設(shè)都非常重要,創(chuàng)新互聯(lián)公司通過對建站技術(shù)性的掌握、對創(chuàng)意設(shè)計的研究為客戶提供一站式互聯(lián)網(wǎng)解決方案,攜手廣大客戶,共同發(fā)展進步。

在php中,正則表達式是對字符串操作的一種邏輯公式,是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規(guī)則字符串”,這個“規(guī)則字符串”可用來表達對字符串的一種過濾邏輯。正則表達式是在處理文本數(shù)據(jù)時的一項重要而復(fù)雜的技術(shù)。

本教程操作環(huán)境:windows7系統(tǒng)、PHP7.1版,DELL G3電腦

什么是正則表達式

正則表達式是對字符串操作的一種邏輯公式,就是用事先定義好的一些特定字符、及這些特定字符的組合,組成一個“規(guī)則字符串”,這個“規(guī)則字符串”用來表達對字符串的一種過濾邏輯。比如注冊用戶時常常需要用戶填寫 E-mail、電話、生日之類的有特定格式的數(shù)據(jù),為了避免用戶胡亂填一些無效的數(shù)據(jù),這時候就要用到正則表達式。

正則表達式也稱為模式表達式,自身具有一套非常完整的、可以編寫模式的語法體系,提供了一種靈活且直觀的字符串處理方法。正則表達式通過構(gòu)建具有特定規(guī)則的模式,與輸入的字符串信息比較,在特定的函數(shù)中使用從而實現(xiàn)字符串的匹配、查找、替換及分割等操作。

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

下面使用正則表達式的語法構(gòu)建了兩個例子,如下所示:

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

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

使用正則表達式的主要目的就是為了通過簡單的辦法來實現(xiàn)強大的功能。為了簡單、有效而又不失強大,造成了正則表達式規(guī)則的復(fù)雜,構(gòu)建正確、有效的正則表達式更是難度較大,所以想要學(xué)好正則表達式需要付出一些努力才行。

正則表達式的用途

正則表達式描述的是一種字符串匹配模式,可以用來檢查一個字符串中是否含有某種子串、將匹配的子串做替換或者從某個字符串中取出符合某個條件的子串等等。例如,當(dāng)用戶提交一個表單后,要判斷輸入的電話號碼、E-mail 地址等是否有效,用普通的基于字面的字符驗證顯然是不夠的。

正則表達式是由普通字符(例如字符 a 到 z)以及特殊字符(稱為“元字符”)組成的文字模式。正則表達式作為一個模板,將某個字符模式與所搜索的字符串進行匹配。正則表達式的模式可以是單個的字符、字符集合、字符范圍、字符間的選擇或者所有這些組件的任意組合。

使用正則表達式的目的就是可以通過簡單的辦法來實現(xiàn)強大的功能。為了簡單、有效而又不失強大,造成了正則表達式規(guī)則的復(fù)雜,構(gòu)建正確、有效的正則表達式更是難度較大,所以需要付出一些努力才行。入門之后通過一定的參考和大量實踐,在開發(fā)實踐中使用正則表達式還是比較有效且有趣的。

在 PHP 中使用正則表達式

PHP 有兩套函數(shù)庫支持的正則表達式處理操作:

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

另一套是 POSIX(Portable Operating System Interface)擴展語法正則表達式函數(shù),以ereg_為函數(shù)的前綴。

兩套函數(shù)庫的功能相似,但是 PCRE 的執(zhí)行效率高于 POSIX,所以我們只介紹 PCRE 函數(shù)庫。

以上就是如何理解php中正則表達式,小編相信有部分知識點可能是我們?nèi)粘9ぷ鲿姷交蛴玫降摹OM隳芡ㄟ^這篇文章學(xué)到更多知識。更多詳情敬請關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道。

本文題目:如何理解php中正則表達式
文章轉(zhuǎn)載:http://muchs.cn/article46/jcjdhg.html

成都網(wǎng)站建設(shè)公司_創(chuàng)新互聯(lián),為您提供手機網(wǎng)站建設(shè)響應(yīng)式網(wǎng)站、網(wǎng)站制作App開發(fā)、營銷型網(wǎng)站建設(shè)、企業(yè)網(wǎng)站制作

廣告

聲明:本網(wǎng)站發(fā)布的內(nèi)容(圖片、視頻和文字)以用戶投稿、用戶轉(zhuǎn)載內(nèi)容為主,如果涉及侵權(quán)請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網(wǎng)站立場,如需處理請聯(lián)系客服。電話:028-86922220;郵箱:631063699@qq.com。內(nèi)容未經(jīng)允許不得轉(zhuǎn)載,或轉(zhuǎn)載時需注明來源: 創(chuàng)新互聯(lián)

網(wǎng)站建設(shè)網(wǎng)站維護公司