這篇文章主要介紹了關於Php中的正規表示式,有著一定的參考價值,現在分享給大家,有需要的朋友可以參考一下
簡單介紹正規表達式及其作用
Ø 正規表示式的了解
n 正規表示式就是描述字串排列模式的一種自訂語言規則
n 如果可以使用字串處理函數完成的任務,就不要使用正規表示式
n 有一些複雜性的運算,只能用正規表示式
n 正規表示式也稱為一種模式表達式
n 正規表示式就是透過具有特定規則的模式,在與輸入的字串資訊進行比較、分割、尋找、替換等操作。
Ø 正規表示式的特性
n 正規表示式也是一個字串
n 由具有由特殊意義的字串組成的字串
n 具有一定編寫規則,也是一種模式
n 看做是一種編程語言:是用一些特殊字符,按照規則編寫出來一個字串,形成一種模式
注意:如果正則表達式不和函數一起使用,則就是一個字串,如果正規表示式放到某個函數中使用,才能發揮正規表示式的真正作用。
Ø PHP中提供了兩套正規表示式函數函式庫
# Posix擴充正規表示式ereg_開頭的函數
perl相容正規表示式 #preg_開頭的函數
建議使用prel 來相容正規表示式函數函式庫
#正規表示式的語法
Ø 正則定界符
##Ø正規表示式中的原子
Ø正規表示式中的元字元
#Ø正規表示式的模式修正符號
正規定界符
正規的定界符就是用來宣告正規表示式邊界的符號。
正規表示式常用的邊界符為 /,實際上任何非數字字母以及反斜線##\ 以外的任意字元都可以做正規表示式的邊界符。
注意:一個完整的正規表示式有兩個邊界符號
n 一個是字串型別的引號邊界符號 ''
n一個是正規表示式的邊界符號 //(一般用
/)
n # ##整體就是### '//'############正規表示式的原子############ ###組成正規表示式的最小單位就是原子############正規的數字字母都是原子,大部分看不見的字元也是原子。 ######例如:\n\r\t...這些轉譯字元都是元素
Ø 正則中原子
\d 表示 0-9之間的一個數字
#\D 表示除了0-9之間的任一字元
\s 表示符合任一個空白字元包含 \n\r\t..
\S 表示除了空白符號或轉譯字元以外的任一個字元
\w 表示大小寫字元數字以及下底線當中任一個字元
# \W 表示除了大小寫字母數字以及底線之外的任一個字元
正則表達式中的元字元(原子修飾符)
Ø [] 原子列表
##表示在指定的字元中選擇一個原子
例如:[5-9] 表示#5 6 7 8 9連續得字元允許縮寫為:[開始字元 -結束字元]
Ø ##[^] 排除列表
例如:[^4 ] 表示除了4以外的任一個字元都可以
Ø用元字元(原子修飾符)來模擬原子
\d [0 -9] \D [^0-9]
\D [^0-9] \D [^0-9]
#s [n\) # \S[^\n\r\t]
\w[a-zA-Z0-9]##\w[a-zA-Z0-9]
##\w[a-zA-Z0-9] ## \W[^a-zA-Z0-9]Ø 原子數量修飾符
# ?表示前面的原子出現0次或#1次
## # 表示前面的原子出現1次或多次
##*### ###表示前面的原子出現######0######次或多次######Ø 原子數修飾清單
n {m,n} 表示前面的原子最小出現m次,最多出現n次
n {m,}表示前面的原子最少 出現m次
n {m} 表示前面的原子##只能出現m次
Ø原子數修飾清單模擬數量修飾符
? {0,1}
# {1,}
* {0,}
Ø字串邊界修飾符
# ^ 表示以指定字元開頭的內容
$ 表示以指定字元結尾的內容
注意:
# ^ $一前一後表示精準修飾限定兩者之間的內容是否一致
u如果要使用##^和$ 可以符合每一行的開始和結束部分,需要使用類比修正符m
Ø| 選擇修飾符n
或與且類似Ø
#() 模式單元n
改變優先權n
將多原子視為一個原子,可以使用原子數修飾因子n
將符合到的括號中的內容暫時儲存為記憶體中n
如果使用()只是為了模擬一個原子使用原子數量修飾符,那麼可以在括號的開始處使用?: 來接觸存於內容的作用,提高效率n
可以將括號的內容在函數的輔助下進行反向引用運算#Ø
元字元
.(點)符合除了\n之外的任一字元 Ø i 忽略大寫
Ø x 忽略正規表示式中得空白 Ø # s 使用.( )可以可以符合到#\n S 加速配對#Ø 模式 #改變貪婪模式改變貪婪模式,程式預設是貪婪模式,符合最遠的結束為止,我們可以在正規則中使用*? ##後,則程式變為非貪婪模式。 若此時程式為非貪婪模式,使用U後,程式變成貪婪模式 正規表示式的函數 Ø preg_grep() 傳回與模式相符的陣列單元#@param1:正規表示式#@param2:要匹配的陣列 #@param3:可選參數 預設為false。設定為true表示傳回與模式匹配相反的陣列單元 傳回值:傳回與模式匹配的陣列單元Ø preg_match() 進行一次正規比對適合做查詢有沒有 @param1:#正規表示式 @param2: 要符合的字串@param3 :可選參數,傳回與正規表示式相符的內容 回傳值:成功回傳1,失敗回傳 @param1:正規表示式 @param2#: @param2#:要符合的字串 @param3 可選參數,傳回與正規表示式相符的內容傳回值:傳回符合的次數,若沒有符合帶則回傳0 #Ø preg_split() @param1:正規表示式 ##@param2 #:要分隔的字串 @param3:#傳回分隔後的陣列 Ø preg_replace() 執行正規表示式的取代 ##@param1#:要尋找正規表示式 @param2:要取代的內容 ##@param3# :在哪裡進行替換操作(陣列還是字串)正規表示式類比修正符號
注意:如果此時程式為貪婪模式,使用
U
以上是Php中的正規表示式的詳細內容。更多資訊請關注PHP中文網其他相關文章!

PHP和Python各有優勢,選擇應基於項目需求。 1.PHP適合web開發,語法簡單,執行效率高。 2.Python適用於數據科學和機器學習,語法簡潔,庫豐富。

PHP不是在消亡,而是在不斷適應和進化。 1)PHP從1994年起經歷多次版本迭代,適應新技術趨勢。 2)目前廣泛應用於電子商務、內容管理系統等領域。 3)PHP8引入JIT編譯器等功能,提升性能和現代化。 4)使用OPcache和遵循PSR-12標準可優化性能和代碼質量。

PHP的未來將通過適應新技術趨勢和引入創新特性來實現:1)適應云計算、容器化和微服務架構,支持Docker和Kubernetes;2)引入JIT編譯器和枚舉類型,提升性能和數據處理效率;3)持續優化性能和推廣最佳實踐。

在PHP中,trait適用於需要方法復用但不適合使用繼承的情況。 1)trait允許在類中復用方法,避免多重繼承複雜性。 2)使用trait時需注意方法衝突,可通過insteadof和as關鍵字解決。 3)應避免過度使用trait,保持其單一職責,以優化性能和提高代碼可維護性。

依賴注入容器(DIC)是一種管理和提供對象依賴關係的工具,用於PHP項目中。 DIC的主要好處包括:1.解耦,使組件獨立,代碼易維護和測試;2.靈活性,易替換或修改依賴關係;3.可測試性,方便注入mock對象進行單元測試。

SplFixedArray在PHP中是一種固定大小的數組,適用於需要高性能和低內存使用量的場景。 1)它在創建時需指定大小,避免動態調整帶來的開銷。 2)基於C語言數組,直接操作內存,訪問速度快。 3)適合大規模數據處理和內存敏感環境,但需謹慎使用,因其大小固定。

PHP通過$\_FILES變量處理文件上傳,確保安全性的方法包括:1.檢查上傳錯誤,2.驗證文件類型和大小,3.防止文件覆蓋,4.移動文件到永久存儲位置。

JavaScript中處理空值可以使用NullCoalescingOperator(??)和NullCoalescingAssignmentOperator(??=)。 1.??返回第一個非null或非undefined的操作數。 2.??=將變量賦值為右操作數的值,但前提是該變量為null或undefined。這些操作符簡化了代碼邏輯,提高了可讀性和性能。


熱AI工具

Undresser.AI Undress
人工智慧驅動的應用程序,用於創建逼真的裸體照片

AI Clothes Remover
用於從照片中去除衣服的線上人工智慧工具。

Undress AI Tool
免費脫衣圖片

Clothoff.io
AI脫衣器

AI Hentai Generator
免費產生 AI 無盡。

熱門文章

熱工具

記事本++7.3.1
好用且免費的程式碼編輯器

MantisBT
Mantis是一個易於部署的基於Web的缺陷追蹤工具,用於幫助產品缺陷追蹤。它需要PHP、MySQL和一個Web伺服器。請查看我們的演示和託管服務。

ZendStudio 13.5.1 Mac
強大的PHP整合開發環境

SublimeText3漢化版
中文版,非常好用

Atom編輯器mac版下載
最受歡迎的的開源編輯器