PHP 正規表示式

2022-08-23 14:09:13 字數 2173 閱讀 2444

正規表示式的開始和結尾/#

~/需要轉義,#不需要轉義

<?php

$str = '';

$pattern = '/http:\/\/.*com/';//需要轉義

preg_match($pattern,$str,$match);

var_dump( $match);

?>

array(1)

<?php

$str = '';

$pattern = '#http://.*com#';//不需要轉義

preg_match($pattern,$str,$match);

var_dump( $match);

?>

array(1)

1、轉義字元

\d  包含所有數字[0-9]

\d 除所有數字外[^0-9]

\w 包含所有字元(大小寫英文本母、下劃線、數字)[a-za-z_0-9]

\w 除所有字元(大小寫英文本母、下劃線、數字)外[^a-za-z_0-9]

\s 空白區域如回車、換行、分頁等[\f\n\r]

\s 非空白區域如回車、換行、分頁等[^\f\n\r]

//顯示不可列印的字元

\a 報警

\b 退格

\f 換頁

\n 換行

\r 回車

\t 製表符

2、元字元

.  匹配任意次(不包括回車換行)

* 匹配任意次

? 匹配0次或1次

+ 匹配1次或多次

| 選擇匹配(或)

^ 匹配開頭(方括號中表示非)

$ 匹配尾部

匹配前乙個內容重複m次

匹配前乙個內容重複次數大於等於m次

匹配前乙個內容的重複次數m次到n次

() 合併整體匹配

3、模式修正符

i  不區分大小寫

m 匹配首內容或尾內容時採用多行識別匹配

s 將轉義回車取消視為單行匹配

x 忽略正則中的空白

a 強制從頭開始匹配

d 強制$匹配尾部無任何內容

u 進製貪婪匹配,只跟蹤到最近的乙個匹配符並結束

u 匹配中文

1、單詞界定符:

<?php

$str="tom and bob";

$pattern='/an/';

preg_match($pattern, $str,$match);

var_dump($match);

array(1)

?>

<?php

$str="tom and bob";

$pattern='/\ban\b/';

preg_match($pattern, $str,$match);

var_dump($match);

array(0)

?>

and是乙個完整的單詞。

修改pattern='/\ban\b/'

\b用於保證必須是乙個完整單詞才能匹配成功

\b表示不用是乙個完整單詞

2、選擇字元 | (或)

aa|aa 表示aa或者aa

只能匹配單個字元

| 可以匹配任意長度的字串

- [a-d] a或者b或c或者d

3、排除字元

[^a-z] 排除小寫字母

4、括號字元()

改變限定符(| * ^)的作用範圍

(aa|bb)cc 匹配aacc或者bbcc

aa|bbcc 匹配aa或者bbcc

5、\n

表示第n次匹配到的結果

6、+"ab*" 0個或者更多b,("a","ab","abbb")

"ab+" 至少乙個b,("ab","abb")

7、"a?b+$" 匹配乙個或0個a加上至少乙個b結尾的字串

"ab" 匹配乙個a加上後面2個b

"a(bc)*" 匹配乙個a加上0個或者乙個bc

"a.[0-9]" 匹配乙個a加上乙個字元再加上乙個數字

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.更多策劃中 投稿,完善本系列,讓...