php正規表示式學習筆記(一)

2021-08-27 14:50:27 字數 1624 閱讀 3618

1、正規表示式的介紹和作用

在編寫處理字串的程式或網頁時,經常會有查詢符合某些複雜規則的字串

的需要。正規表示式就是用於描述這些規則的語法。

2、php中兩個常用的正則函式

preg_match 正則函式,以perl語言為基礎

ereg 正則函式,以posix基礎 (unix 、 script)

3、正規表示式中包括的元素

(1)、原子(普通字元:a-z a-z 0-9 、原子表、 轉義字元)

(2)、元字元 (有特殊功能的字元)

(3)、模式修正符 (系統內建部分字元 i 、m、s、u…)

4、正規表示式中的「原子」①a-z a-z _ 0-9  //最常見的字元

②(abc) (skd)  //用圓括號包含起來的單元符合

③[abcs] [^abd] //用方括號包含的原子表,原子表中的^代表排除或相反內容

④轉義字元

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

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

\w  包含所有英文本元[a-za-z_0-9]

\w  除所有英文本元外[^a-za-z_0-9]   \s   包含空白區域如回車、換行、分頁等 [\f\n\r]

*  匹配前乙個內容的0次1次或多次

.  匹配內容的0次1次或多次,但不包含回車換行 當前任何內容,除了換行

+ 匹配前乙個內容的1次或多次

?匹配前乙個內容的0次或1次

|  選擇匹配類似php中的| (因為這個運算符合是弱型別導致前面最為整體匹配)

^  匹配字串首部內容

$  匹配字串尾部內容

\b 匹配單詞邊界,邊界可以是空格或者特殊符合

\b 匹配除帶單詞邊界意外內容

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

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

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

( ) 合併整體匹配,並放入記憶體,可使用\1 \2…依次獲取

.* 匹配任何內容,經常有用

1、正規表示式運算順序   

( )  圓括號因為是記憶體處理所以最高

* ? +  重複匹配內容其次

^ $ \b 邊界處理第三

|  條件處理第四

最後按照運算順序計算匹配

2、正規表示式模式修正符

格式 /正則/u

i 正則內容在匹配時候不區分大小寫(預設是區分的)

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

s 將轉義回車取消是為單行匹配如. 匹配的時候

x 忽略正則中的空白

a 強制從頭開始匹配

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

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

常用在採集程式上的正規表示式

1、匹配功能

preg_match_all 全部匹配函式

對結果排序使 $matches[0] 為全部模式匹配的陣列

用途:擷取比較詳細的內容,採集網頁,分析文字

2、替換功能  

preg_replace 正則替換函式

2、替換內容可以通過修正符e來解決替換執行內容

3、分割功能

preg_split 正則切割

只能按照一種方式切割有侷限性。

PHP正規表示式學習筆記

1.0.1 preg match 函式語法 int preg match string pattern,string subject,array matches int flags 0,int offset 0 搜尋 subject 與 pattern 給定的正規表示式的乙個匹配 引數說明 preg...

正規表示式學習筆記(一)

表示開始 例如 the 表示以 the 開頭的詞 表示結束 例如 the 表示以 the 結尾的詞 the 表示 包含 the 的詞 例如 there the 表示 只有 the 的詞 呵呵 只有 the了 表示零個或若干個 例如 abcd 表示 abc 後邊有 零個或多個 d 表示乙個或若干個 例...

PHP學習筆記之正規表示式

最近開始正式學習php,由於剛入門,之前零零散散的在網上搜尋,對php正規表示式這一塊的內容沒有乙個系統的認識,所以現在做一下小小的總結,我看的書是 php和mysql web開發 原書第四版 很厚一本,趁著寒假讀完吧。字符集可以用於匹配屬於特定型別的任何字元 事實上是一種萬用字元。例如 at可以與...