正規表示式簡覽及PHP相關函式

2021-10-23 11:45:48 字數 2810 閱讀 5528

元字元說明*

重複零次或多次

+重複一次或多次

?重複零次或一次

重複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 字串比對解析,...