php正規表示式詳細整理

2021-10-24 00:26:51 字數 1314 閱讀 7594

在以前的部落格裡寫過一次,當時寫的不是很完整,這裡再重新寫一次,希望寫的完整一點qaq

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

preg_match_all():執行全域性正規表示式匹配(會把字串查詢完)

preg_filter():執行乙個正規表示式搜尋和替換

preg_replace():執行乙個正規表示式搜尋和替換,與fileter不同在無論是否發生替換,都會保留值

preg_grep():返回匹配模式的陣列條目

定界符:就是定乙個邊界,邊界已內的就是正規表示式

php的正規表示式定界符的規定如下:

不能用a-z a-z 0-9 \ 其他的都可以用。必須成對出現,有開始就有結束。

例如:/ 正則 /

# 正則 #

可見原子 : 輸出之後肉眼可見的字元

不可見原子 : 輸出之後肉眼看不見的字元

常用的元字元:

集合

\d:匹配乙個數字0-9

\d:匹配0-9以外的所有字元

\s : 匹配任意乙個不可見原子

\s : 匹配任意乙個可見原子

\w : 匹配任意乙個數字, 字母和下劃線

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

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

篩選方式

| : 匹配兩個或多個分支選擇

[ ] : 匹配裡面任意乙個原子

[^ ] : 匹配除中括號以外的任意乙個原子

量詞

*: 0次, 1次或多次

? : 0次或1次

​+ : 1次或多次

​ : 匹配其前面的乙個原子恰好n次

: 匹配其前面的乙個原子至少n次

: 匹配其前面的乙個原子至少n次, 最多m次

邊界控制

^ : 以某個原子為開始

$ : 以某個原子為結尾

模式單元

() : 整體為乙個原子

i 完全不區分大小寫

s 將字串視為單行,換行符作為普通字元

m 可以採用多行識別,遇到換行也承認匹配規則

x 忽略掉規則模式中的空白字元

a 強制從頭開始匹配

d 模式中的$僅匹配目標字串的結尾

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

shell 正規表示式詳細整理

匹配前面的子表示式零次或一次。等價於 n 是乙個非負整數,匹配確定的n 次。n 是乙個非負整數,至少匹配n 次。m 和 n 均為非負整數,其中n m。最少匹配 n 次且最多匹配 m 次。在逗號和兩個數之間不能有空格。當該字元緊跟在任何乙個其他限制符 後面時,匹配模式是非貪婪的。非貪婪模式盡可能少的匹...

PHP 常用正規表示式整理

驗證賬號,字母開頭,允許 5 16 位元組,允許字母數字下劃線 a za z a za z0 9 驗證賬號,不能為空,不能有空格,只能是英文本母 s a z a z 驗證賬號,不能有空格,不能非數字 d 驗證使用者密碼,以字母開頭,長度在 6 18 之間 a za z w 驗證是否含有 等字元 x2...

PHP 常用正規表示式整理

驗證賬號,字母開頭,允許 5 16 位元組,允許字母數字下劃線 a za z a za z0 9 驗證賬號,不能為空,不能有空格,只能是英文本母 s a z a z 驗證賬號,不能有空格,不能非數字 d 驗證使用者密碼,以字母開頭,長度在 6 18 之間 a za z w 驗證是否含有 等字元 x2...