元字元說明*
重複零次或多次
+重複一次或多次
?重複零次或一次
重複n次
重複n次或多次
重複n到m次
.匹配除換行符以外的任意乙個字元
\w匹配乙個字母、數字、下劃線
\w匹配乙個除字母、數字、下劃線以外的字元
\s匹配乙個任意的空白符
\s匹配乙個不是空白符的任意字元
\d匹配乙個數字
\d匹配乙個非數字
\b匹配乙個單詞的開始或結束
\b匹配乙個單詞的非開始或非結束
^匹配乙個字串的開始
$匹配乙個字串的結束
[0-9],[a-z],[0-9a-z],[aeiou],[^aeiou]|或
(exp)
分組(?exp)
分組命名;若不命名,預設為索引命名
(?:exp)
匹配表示式,但不捕獲結果
\1或\k
反向引用
貪婪
a.*b
aabab
匹配結果
aabab
----------
懶惰a.*?b
aabab
匹配結果
aabab
乙個條件,但不會被實際匹配
選項正向先行斷言
代表正規表示式本身\b\w+(?=ing\b)
i'm singing while you're dancing.
匹配結果
sing
danc
-----------------------------------
正向後行斷言
(?<=\bre)\w+\b
reading a book, bbading
匹配結果
ading
-----------------------------------
負向先行斷言
\d(?!\d)
123q
1234
123匹配結果
123234
123----------------------------------
負向後行斷言
(?php支援(?r)
\((?r)*\)
能匹配((()))
說明ignorecase
匹配時不區分大小寫
multiline
以換行為標誌看作字串,$匹配換行符之前的位置
singleline
使.能與每乙個字元匹配,包括換行符
ignorepatternwhitespace
忽略表示式中的非轉義空白並啟用由#標記的注釋
當使用 pcre 函式的時候,模式需要由分隔符閉合包裹。分隔符可以是任意非字母、數字、反斜線、空白字元。
經常使用的分隔符是正斜線(/)、hash符號(#) 以及取反符號(~)
執行正規表示式匹配
preg_match ( string $pattern
, string $subject[,
array
&$matches
[, int $flags=0
[, int $offset=0
]]])
: int
$offset:指定從哪個位置開始搜尋
返回值:返回匹配次數。它的值將是0或1或false。preg_match()在第一次匹配後將會停止搜尋。如果發生錯誤會返回false
執行全域性正規表示式匹配
preg_match_all ( string $pattern
, string $subject[,
array
&$matches
[, int $flags
=preg_pattern_order
[, int $offset=0
]]])
: int
返回值:返回匹配次數,如果發生錯誤返回false
在陣列中搜尋匹配模式的元素
preg_grep ( string $pattern
,array
$input
[, int $flags=0
]):array
返回值:返回與模式匹配/不匹配的元素組成的陣列,鍵還是原來的鍵
替換
preg_replace ( mixed $pattern
, mixed $replacement
, mixed $subject
[, int $limit=-
1[, int &
$count]]
): mixed
返回值:返回替換後的字串或陣列,發生錯誤返回null
只返回匹配成功的結果,其餘同preg_replace()
通過乙個正規表示式分隔字串
preg_split ( string $pattern
, string $subject
[, int $limit=-
1[, int $flags=0
]]):
array
返回值:返回分隔後得到的子串組成的陣列,或者在失敗時返回false
PHP正規表示式相關
str aa11bb2cc3dd4 reg d str preg replace reg,str 將滿足正規表示式的內容替換為 arr preg split reg,str 拆分字串 preg match reg,str,arr 匹配第乙個滿足正規表示式的內容,放到陣列 arr裡面 preg mat...
PHP正規表示式及常用函式
正規表示式是對字串進行操作的一種邏輯公式,就是用一些特定的字元組合成乙個規則字串,稱之為正則匹配模式。1.舉個簡單例子 蘋果 str 我喜歡吃蘋果 if preg match p str 結果如下 這裡重點介紹一下preg match函式 preg match reg str,arr reg就是自己...
PHP正規表示式函式
關於正規表示式 regular expression 似乎譯成 字串解析處理,較合乎字面上的意義。但目前所有的相關書籍都譯成正規表示式或是正規表示法.等等,實際上是負責字串解析比對,並對字串做相關的處理。ereg 字串比對解析。ereg replace 字串比對解析並取代。eregi 字串比對解析,...