正好近來相對輕鬆點,那就來複習(新學習)一下正則吧!!!
噹噹當!!!:「/」是定界符(分隔符),「/」定界符之間的部分就是將要在目標物件中進行匹配的模式。分隔符可以使任意非字母數字、非反斜線、非空白字元。
經常使用的分隔符是正斜線(/)、hash符號(#) 以及取反符號(~)。下面的例子都是使用合法分隔符的模式。
/foo bar/
#^[^0-9]$#
+php+
%[a-za-z0-9_-]%
噹噹當!!!:指定預定義的字符集
\d :任意乙個十進位制數字[0-9]
\d:任意乙個非十進位制數字
\s :任意乙個空白字元(空格、換行符、換頁符、回車符、字表符)
\s :任意乙個非空白字元
\w:任意乙個單詞字元
\w:任意個非單詞字元
顯示不可列印的字元
字元 含義
\a :報警
\b :退格
\f: 換頁
\n :換行
\r: 回車
\t: 字表符
噹噹當!!!:\ :一般用於轉義字元
^:斷言目標的開始位置(或在多行模式下是行首)
$:斷言目標的結束位置(或在多行模式下是行尾)
.:匹配除換行符外的任何字元(預設)
[:開始字元類定義
]:結束字元類定義
|:開始乙個可選分支
(:子組的開始標記
):子組的結束標記
?:作為量詞,表示 0 次或 1 次匹配。位於量詞後面用於改變量詞的貪婪特性。
*:量詞,0 次或多次匹配
+:量詞,1 次或多次匹配
:自定義量詞結束標記
模式中方括號內的部分稱為「字元類」。 在乙個字元類中僅有以下可用元字元:
\:轉義字元
^:僅在作為第乙個字元(方括號內)時,表明字元類取反
-:標記字元範圍
詳解:
^:查詢乙個串的開始位置,用來指示文字串的起始位置。例如:/^\d/可以匹配"300sadasd",而不能匹配"sda300asdasd"
$:查詢串尾,結合^使用$可以確定匹配範圍。
.:點元字元可以匹配除換行符以外的任意乙個字元。
{}相當於乙個量詞,指出前面的串應當出現多少次。用法::指示前面字元重複次數的範圍,【2,4】
+:前面的字元必須重複一次或多次。
?:前面的字元必須出現一次貨根本不出現。
*:字元可以出現一次或多次,或根本不出現
:字元類:用來匹配乙個特定值集合中的字元。使用中括號()包圍起來。
[0-2]:數字範圍0-2
[a-d]:字母a,b,c,d會被匹配。
[^0-2]:匹配除了0,1,2以外的所有字元。
模式修飾符
模式修飾符的作用是設定模式,也就是正規表示式如何解釋。
php中主要模式如下:
i :忽略大小寫
m :多文字模式
s :單行文字模式
x :忽略空白字元
最常用的php正規表示式收集整理:
php正規表示式使用的詳細介紹:
php中正規表示式詳解:
正規表示式 正規表示式 總結
非負整數 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正規表示式 編寫正規表示式
為了所有實用化的用途,你可以通過使用程式產生正確的結果。然而,並不意味著程式總是如你所願的那樣正確地工作。多數情況下,如果程式不能產生想要的輸出,可以斷定真正的問題 排除輸入或語法錯誤 在於如何描述想要的東西。換句話說,應該考慮糾正問題的地方是描述想要的結果的表示式。表示式不完整或者公式表示得不正確...