PHP正規表示式

2021-05-23 04:59:34 字數 2033 閱讀 6706

php正規表示式的定義:

用於描述字元排列和匹配模式的一種語法規則。它主要用於字串的模式分割、匹配、查詢及替換操作。

php中的正則函式:

php中有兩套正則函式,兩者功能差不多,分別為:

一套是由pcre(perl compatible regular expression)庫提供的。使用「preg_」為字首命名的函式;

一套由posix(portable operating system inte***ce of unix )擴充套件提供的。使用以「ereg_」為字首命名的函式;(posix的正則函式庫,自php 5.3以後,就不在推薦使用,從php6以後,就將被移除)

由於posix正則即將推出歷史舞台,並且pcre和perl的形式差不多,更利於我們在perl和php之間切換,所以這裡重點介紹pcre正則的使用。

pcre正規表示式

pcre全稱為perl compatible regular expression,意思是perl相容正規表示式。

正則中重要的幾個概念有:元字元、轉義、模式單元(重複)、反義、引用和斷言,這些概念都可以在文章[1]中輕鬆的理解和掌握。

常用的元字元(meta-character):

元字元     說明

/a       匹配字串串首的原子

/z       匹配字串串尾的原子

/b       匹配單詞的邊界     //bis/   匹配頭為is的字串   /is/b/   匹配尾為is的字串   //bis/b/ 定界

/b       匹配除單詞邊界之外的任意字元   //bis/   匹配單詞「this」中的「is」

/d     匹配乙個數字;等價於[0-9]

/d     匹配除數字以外任何乙個字元;等價於[^0-9]

/w     匹配乙個英文本母、數字或下劃線;等價於[0-9a-za-z_]

/w     匹配除英文本母、數字和下劃線以外任何乙個字元;等價於[^0-9a-za-z_]

/s     匹配乙個空白字元;等價於[/f/t/v]

/s     匹配除空白字元以外任何乙個字元;等價於[^/f/t/v]

/f     匹配乙個換頁符等價於 /x0c 或 /cl

匹配乙個換行符;等價於 /x0a 或 /cj

匹配乙個回車符等價於/x0d 或 /cm

/t     匹配乙個製表符;等價於 /x09/或/cl

/v     匹配乙個垂直製表符;等價於/x0b或/ck

/onn   匹配乙個八進位制數字

/xnn   匹配乙個十六進製制數字

/cc    匹配乙個控制字元

模式修正符(pattern modifiers):

模式修正符在忽略大小寫、匹配多行中使用特別多,掌握了這乙個修正符,往往能解決我們遇到的很多問題。

i     -可同時匹配大小寫字母

m     -將字串視為多行

s     -將字串視為單行,換行符做普通字元看待,使「.」匹配任何字元

x     -模式中的空白忽略不計  

u     -匹配到最近的字串

e     -將替換的字串作為表達使用

pcre的模式單元:

//1 提取第一位的屬性

/^/d ([/w])/d//1/d$匹配「12-31-2006」、「09/27/1996」、「86 01 4321」等字串。但上述正規表示式不匹配「12/34-5678」的格式。這是因為模式「[/w]」的結果「/」已經被儲存。下個位置「/1」引用 時,其匹配模式也是字元「/」。

當不需要儲存匹配結果時使用非儲存模式單元「(?:)」

例如/(?:a|b|c)(d|e|f)//1g/ 將匹配「aeeg」。在一些正規表示式中,使用非儲存模式單元是必要的。否則,需要改變其後引用的順序。上例還可以寫成/(a|b|c)(c|e|f)/2g/。

php正規表示式詳解,PHP正規表示式使用詳解

操作符 描述 轉義符 圓括號和方括號 限定符 anymetacharacter 位置和順序 或 操作 全部符號解釋 字元 描述 將下乙個字元標記為乙個特殊字元 或乙個原義字元 或乙個 向後引用 或乙個八進位制轉義符。例如,n 匹配字元 n n 匹配乙個換行符。序列 匹配 而 則匹配 匹配輸入字串的開...

PHP正規表示式

今天起,會開始弄乙個php教程系列文章.主要是針對正規表示式的.大概的內容排序是這樣安排的 1.php 中的正規表示式 2.八個實用的php正規表示式 3.如何書寫更易閱讀的php正規表示式 4.半小時精通正規表示式 5.正則在文章採集系統中的應用及常見問題答疑 6.更多策劃中 投稿,完善本系列,讓...

php正規表示式

1 正規表示式 regular expression 有規則的表達。php提供支援posix和perl兩種風格的正規表示式。2 量詞六個 表示匹配數量。匹配2到4個,也包括3,並非只2和3。是至少2個的意思,逗號別忘記。注意 都是貪婪匹配,會盡可能多的匹配文字,只要在它們後面加上 號,就可以變成懶惰...