PHP 正規表示式

2021-09-20 04:03:44 字數 2899 閱讀 6683

正規表示式(regular expression)是一種文字模式,包括普通字元(例如,a 到 z 之間的字母)和特殊字元(稱為"元字元")。 正規表示式使用單個字串來描述、匹配一系列匹配某個句法規則的字串。

一、正規表示式語法規則

二、定界符

三、普通字元

四、元字元

\d	匹配任意乙個十進位制數字,等價於[0-9]

\d 匹配任意乙個除十進位制數字以外字元,等價於[^0-9]

\s 匹配任意乙個空白字元,比如換頁符、換行符、回車符、製表符、垂直製表符

\s 匹配除空白字元以外的任何乙個字元

\w 匹配任意乙個數字或字母或下劃線

\w 匹配除數字、字母、下劃線以外的任意乙個字元

. 匹配除換行符以外的任意乙個字元

* 匹配0次、或1次、或多次其前面的字元

+ 匹配1次或多次其前面的字元

? 匹配0次或1次其前面的字元

表示其前面字元恰好出現n次

表示其前面字元出現不少於n次

表示其前面的字元至少出現n次,最多出現m次

^或\a 匹配字串開始位置

$或者\z 匹配字串的結束位置

| 匹配兩個或多個模式

匹配方括號中的任意乙個字元

[^] 匹配除方括號中字元以外的任意乙個字元

() 將括號中作為乙個整體以便將其中的內容獲取到

在我們的正規表示式中 可以使用圓括號來將某一段括起來,在圓括號的後面部分,

我們可以使用\\數字 來代表圓括號部分所匹配到的內容!

五、模式修正符

i	在和模式進行匹配時不區分大小寫

m 多行匹配,如果目標字串 中沒有"\n"字元, 或者模式中沒有出現^或$, 設定這個修飾符不產生任何影響

s 如果設定了此修正符,那麼.將匹配所有的字元包括換行符

u 禁止貪婪匹配

六、與正規表示式配合的函式

preg_match()返回pattern的匹配次數,值為1或0,即只執行一次匹配。

preg_match()執行乙個正規表示式匹配

引數說明:

第乙個引數:正規表示式

第二個引數:目標字串

第三個引數(可選):放乙個變數,執行完成之後,裡面會有匹配到的部分以及等等一些資料!

第四個引數(可選):可以傳preg_offset_capture進入(那麼第三個引數那個變數裡面的資料就會有匹配到的部分的偏移值),預設傳的是0。

第五個引數(可選):可以傳乙個值,來表示從目標字串的哪個位置開始搜尋(單位是位元組)。

$pattern

='/t(.*?)st/'

;$str

='adwdwqdqwdqwtest tdqwst test tvrgrgrst'

;var_dump

(preg_match

($pattern

,$str

,$arr))

;var_dump

($arr);

if(preg_match

($pattern

,$str

,$arr

,preg_offset_capture))

else

preg_match_all()執行乙個全域性正規表示式匹配。

preg_match_all()

第四個引數(可選):

preg_pattern_order

preg_set_order

preg_offset_capture

第五個引數(可選):可以傳乙個值,來表示從目標字串的哪個位置開始搜尋(單位是位元組)。

$pattern

='/t(.*?)(s)t/'

;$str

='adwdwqdqwdqwtest tdqwst test tvrgrgrst'

;var_dump

(preg_match_all

($pattern

,$str

,$arr

,preg_offset_capture))

;var_dump

($arr

);

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

preg_replace第乙個引數與第二個引數傳陣列,一一對應的去替換!

第乙個引數:正規表示式

第二個引數:要替換的字串

第三個引數:目標表示式*/

$pattern

=array

('/(.*?)<\/div>/'

,'/(.*?)<\/p>/');

$str1

=array

('$2'

,'我是span標籤啦!$2');

$str

='dwqdwq測試成為緋聞緋聞緋聞緋dwqdwqdwq聞cqdwqdqw

dqwwdqdwq我是後面那個div';

echo

'替換後的:'

.preg_replace

($pattern

,$str1

,$str,-

1,$count);

var_dump

($count);

echo''

;echo

'原來的字串:'

.$str

;

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