PHP正規表示式考察點

2022-08-12 05:09:20 字數 2101 閱讀 1855

正規表示式的作用:分隔、查詢、匹配、替換字串

正規表示式的組成部分

1.分隔符:

"/" 、 "#" 、 "~"

2.通用元字元\d: 十進位制的0-9

\w: 數字、字母、下畫線

\b: 字元邊界

\s: 空格、換行符、換頁符、回車符、字表符

|:或者

|abc|:abc三個字元中的任意乙個

|^abc|:除了abc之外的任意乙個字元

|a-z|:範圍a-z之間的任意乙個字元

\d : 對\d取反:除了0-9

\w : 除了數字、字母、下畫線

\s : 除了空格、換行符、換頁符、回車符、字表符

3.常用元字元

. : 除了換行符之外的任意字元

* : 匹配前面內容出現0次、1次或多次

? : 匹配前面內容出現0次或1次

^ : 開頭

$ : 結尾

+ : 匹配前面內容出現1次或多次

: 出現n次

:出現大於等於n次

: 出現大於等於n次 小於等於m次

: 集合,匹配中括號裡面的[abc]則是匹配a 或 b 或 c

() : 後向引用或當作整體

[^] : 取反[^abc]除了a 、除了b、 除了c

| : 或者

[-] : 表示範圍

模式修正符

i : 不區分大小寫

m : 多行模式

s : 單行模式

u : 取消貪婪模式

x : 忽略模式中的空白符

a : 必須以該模式開頭

d : 如果這個修飾符被設定, 模式中的元字元美元符號僅僅匹配目標字串的末尾. 如果這個修飾符 沒有設定, 當字串以乙個換行符結尾時, 美元符號還會匹配該換行符(但不會匹配之前的任何換行符). 如果設定了修飾符m, 這個修飾符被忽略

u : 進行utf-8匹配

後向引用

$str = 'abc';

$pattern = '/(.*)/';

preg_replace($pattern,'\\1',$str);//這裡\1代表的就是括號裡匹配上的內容,也就是abc

貪婪模式

$str = 'abcbcd';//匹配每一不b標籤

$pattern = '/(.*?)/';//.*存在貪婪模式,會一直匹配到最後,加上問號後 取消貪婪模式,匹配乙個之後再進行下乙個匹配

preg_replace($pattern,'\\1',$str);

//使用以下方法也可以取消貪婪模式

$pattern = '/(.*)/u';

正規表示式pcre函式

preg_filter — 執行乙個正規表示式搜尋和替換

preg_grep — 返回匹配模式的陣列條目

preg_last_error — 返回最後乙個pcre正則執行產生的錯誤**

preg_match_all — 執行乙個全域性正規表示式匹配

preg_match — 執行匹配正規表示式

preg_quote — 轉義正規表示式字元

preg_replace_callback_array — perform a regular expression search and replace using callbacks

preg_replace_callback — 執行乙個正規表示式搜尋並且使用乙個**進行替換

preg_replace — 執行乙個正規表示式的搜尋和替換

preg_split — 通過乙個正規表示式分隔字串

例子寫出乙個正規表示式,取出頁面中所有img標籤中的src值

$str = '

';$pattern = '//';

/** * 分析

* img的標籤特性:有或 >結尾: /?>

* 最終拼接成:**/

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

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

PHP正規表示式

php正規表示式的定義 用於描述字元排列和匹配模式的一種語法規則。它主要用於字串的模式分割 匹配 查詢及替換操作。php中的正則函式 php中有兩套正則函式,兩者功能差不多,分別為 一套是由pcre perl compatible regular expression 庫提供的。使用 preg 為字...

PHP正規表示式

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