熱點推薦:
您现在的位置: 電腦知識網 >> 編程 >> PHP編程 >> 正文

PHP正則表達式基本函數

2013-11-15 12:29:20  來源: PHP編程 

  在PHP正則表達式中需要轉義的字符如下

  $^*()+={}[]|/:<>?"

  注意perl風格中表達式要求以/開始和結尾/food/ 表匹配字符 food

  perl修飾符如下

  i 完成不區分大小寫的搜索

  g 查找所有出現(all occurrences完成全局搜索)

  m 將一個字符串視為多行(m就表示多(multiple))默認情況下^和$字符匹配字符串中的最開始和最末尾使用m修飾符將使^和$匹配字符串中每行的開始

  s 將一個字符串視為一行忽略其中的所有換行符;它與m修飾符正好相反

  x 忽略php正則表達式中的空白和注釋

  U 第一次匹配後停止默認情況下將找到最後一個匹配字符結果利用這個修飾符可以在第一次匹配後停止進而形式循環匹配

  元字符說明

  利用Perl正則表達式還可以做另一件有用的事情這就是使用各種元字符來搜索匹配元字符(metacharacter)就是一個前面有反斜線的字母字符表示某種特殊含義以下是一些有用的元字符

  A 只匹配字符串開頭

  b 匹配單詞邊界

  B 匹配單詞邊界之外的任意字符

  d 匹配數字字符它與[]相同

  D 匹配非數字字符的php正則

  s 匹配空白字符

  S 匹配非空白字符的php正則

  [] 包圍一個字符類字符類包括[] [az] [azAZ] 等類似

  () 包圍一個字符分組或定義一個反引用

  $ 匹配行尾

  ^ 匹配行首

  * 匹配前面的子表達式零次或多次要匹配 * 字符請使用 *

  + 匹配前面的子表達式一次或多次要匹配 + 字符請使用 +

  ? 匹配前面的子表達式零次或一次或指明一個非貪婪限定符 ?

   匹配除換行之外的任何字符

  引出下一個元字符

  w 匹配任何只包含下劃線和字母數字字符的字符串它與 [azAZ_]相同

  W 匹配沒有下劃線和字母數字字符的字符串的php正則

  Perl風格函數有

  array preg_grep(string pattern array input [ flags])

  搜索數組中所有元素返回由與某個模式匹配的所有元素組成的數組

  PHP 增加了一個可選參數 flag它接受一個值 PREG_GREP_INVERT 傳遞此標志將得到與該模式不匹配的數據元素

  int preg_match(string pattern string string [ array matches [ int flags [ int offset]]])

  在字符串中搜索模式如果存在返回TRUE否則返回FALSE

  可選輸入參數matches可以包含搜索模式中包含的子模式的各個部分默認返回 匹配的字符串當有()子包圍時會在數組後面輸出

  int preg_match_all(string pattern string string array pattern_array [ int order])

  和函數 preg_match一樣不過 preg_match 只搜索一次而 preg_match_all 會執行循環搜索返回所有匹配的結果

  mixed preg_replace(mixed pattern mixed replacement mixed str [ int limit])

  用replacement替換pattern的所有出現並返回修改後的結果

  可選 limit 指定應當發生多少次匹配不設置limit或設置為將替換所有出現的情況

  以上為常用函數還有 preg_quote preg_replace_callbak preg_split等詳細解釋略


From:http://tw.wingwit.com/Article/program/PHP/201311/21050.html
    推薦文章
    Copyright © 2005-2013 電腦知識網 Computer Knowledge   All rights reserved.