正規表示式的作用:分隔、查詢、匹配、替換字串正規表示式的組成部分
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.更多策劃中 投稿,完善本系列,讓...