一、定界符
「/」或「#」
二、元字元
1)+ : 一次或多次
比如:/php+/,能夠與「phpp」匹配,即字母ph後面連續出現乙個或多個字母p的字串相匹配。
2)* : 零次或多次,貪婪的,盡可能多的匹配文字
比如:/php*/能夠與「phpddt」相匹配,即ph後面可以有0個或多個p
3)? : 零次或一次,消除貪婪
比如:/php?/能夠「pher」匹配,即phh後面可以有0個或者1個p
4) \s : 單個空格符,包括tab鍵和換行符 [ \f\n\r\t\v]
5) \s : 除單個空格符之外的所有字元 [ ^\f\n\r\t\v]
6) \d : 從0到9的數字 [0-9]
7) \d : 非數字 [^0-9]
7) \w : 字母、數字、下劃線 [a-za-z0-9_]
8) \w : 所有與\w不匹配的字元 [^a-za-z0-9_]
9). : 除換行符\n之外的
10)\r : 單個回車符
示例:/\s+/用於匹配乙個或多個空格字元
示例:
$str = '';
preg_match_all('/<.*>/',$str,$matches);
結果:,盡可能多的匹配字元
$str = '';
preg_match_all('/<.*?>/',$str,$matches);
結果:,盡可能少的匹配
三、定位符,匹配模式在目標物件中的位置
1)「^」 開頭
2)「$」 結尾
3)\b 開頭或結尾的兩個邊界之一
4)「\b」 開頭和結尾兩個邊界之內
5)()子表示式
6)
四、修飾符,改變表示式的行為
」i」就是修飾符,表示忽略大小寫
另外」x」表示忽略空格
/m 多行模式
/s 單行模式
五、範圍
/[a-z]/
上述正規表示式將會與從a到z範圍內任何乙個大寫字母相匹配。
/[a-z]/
上述正規表示式將會與從a到z範圍內任何乙個小寫字母相匹配。
/[0-9]/
上述正規表示式將會與從0到9範圍內任何乙個數字相匹配。
/([a-z][a-z][0-9])+/
上述正規表示式將會與任何由字母和數字組成的字串
」」只能匹配單個字元 如[a-d],代表a或b或c或d
[^1-5],該字元不是1~5之間的數字
[-+.]\w包含任意- 或+ 或.或\w字元的組合出現0次或多次
六、限定符
如[\w]或者[\w]*或者[\w]+這些[\w]後面的符號都表示限定符。
表示3到5個字元。超過3個字元,最多5個,三個字元。
* 表示0到多個
+ 表示1到多個
七、萬用字元(lookarounds):斷言某些字串中某些字元的存在與否!
lookarounds分兩種:lookaheads(正向預查 ?=)和lookbehinds(反向預查?<=)。
> 格式:
正向預查:(?=) 相對應的 (?!)表示否定意思
反向預查:(?<=) 相對應的 (?八、同時與多種模式匹配
如/phpddt|100/可以與「phpddt」 「100」相匹配
九、需要轉義的字元有:
\ . * ^ & [ ] ? 等
十、練習
正規表示式 正規表示式 總結
非負整數 d 正整數 0 9 1 9 0 9 非正整數 d 0 負整數 0 9 1 9 0 9 整數 d 非負浮點數 d d 正浮點數 0 9 0 9 1 9 0 9 0 9 1 9 0 9 0 9 0 9 1 9 0 9 非正浮點數 d d 0 0 負浮點數 正浮點數正則式 英文本串 a za z...
正規表示式 表示式
網域名稱 a za z0 9 a za z0 9 a za z0 9 a za z0 9 interneturl a za z s 或 http w w w 手機號碼 13 0 9 14 5 7 15 0 1 2 3 5 6 7 8 9 18 0 1 2 3 5 6 7 8 9 d 號碼 x x x...
Linux正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...