正則實例

 

  1. <?php 
  2.     /* 
  3.     *1、正則表達式iushi描述字符串排列模式的一種自定義語法規則 
  4.     *2、如果可以使用字符串處理函數完成的任務,就不要使用正則 
  5.     *3、一些複雜的操作,只能使用正則完成 
  6.     *4、正則表達式也成爲一種模式表達式 
  7.     *5、正則表達式是通過特定規則的模式,與輸入的字符信息比較,在進行分割、匹配查找、替換工作 
  8.     */ 
  9.      
  10.     /* 
  11.     語法: 
  12.         1、定界符 
  13.             //除了字母、數字、正斜線\外都可以作爲定界符  
  14.         2、原子 
  15.             *原子是正則表達式的最基本組成單元,至少包含一個,只要一個正則表達式可以單獨使用的字符,就是原子 
  16.              
  17.             *所有打印和非打印字符 
  18.             *代表範圍的原子 
  19.                 \d:表達任何數字 
  20.                 \D:表示任何除數字外的字符 
  21.                 \s:表示任意一個空白字符    
  22.                 \S:表示任意非空白字符 
  23.                 \w:匹配a-zA-Z0-9_ 
  24.                 \W:和\w匹配相反 
  25.  
  26.             *自己定義 
  27.                 []:匹配方括號中任何一個原子 
  28.                 [1-9a-z]:範圍 
  29.                 [^1-9]:取反,^必須在方括號內的第一個字符 
  30.             *. 
  31.         3、元字符 
  32.             元字符是修飾原子的特殊字符,不可獨立使用 
  33.             * 表示其前面的原子可以出現任意次 
  34.             + 表示其前面原子至少出現1次 
  35.             ? 表示0次或者1次 
  36.             {} 自定義出現的次數  
  37.                 {m} m爲整數 
  38.                 {m,n} 大等於m次和小等於n次 
  39.                 {m,} 
  40.             . 默認情況爲換行符之外的其他字符 
  41.             ^ 直接作爲第一個字符使用,爲開頭 
  42.             $ 最後使用爲結束符 
  43.             | 或的關係,匹配左右,優先級別最低,最後匹配 
  44.             \b  表示一個邊界 
  45.             \B  表示非邊界 
  46.             ()  重點; 
  47.                 一、作爲大原子使用 
  48.                 二、改變優先級 
  49.                 三、作爲子模式使用 
  50.                 四、可以取消子模式,就作爲其他用處(?: ) 
  51.                 五、反向引用  可以將子模式直接取出來,作爲正則表達式模式的一部分   preg_replace中 
  52.          
  53.             優先級: 
  54.                 \ 
  55.                 () (?:) [] 
  56.                 * + ? {} 
  57.                 ^ & \b 
  58.                 | 
  59.         4、模式修正符號 
  60.             //模式修正符 
  61.             就是幾個字母 
  62.             可以同時使用 
  63.             是對正則表達式調優用的 
  64.             i:不區分大小寫 
  65.             m:將字符串視爲一行 ^ $視爲多行均可 
  66.             s:將字符串視爲單行,主要是針對. 
  67.             x:忽略空白 
  68.             e: 
  69.             U:匹配第一個 
  70.      
  71.         /原子和元字符/模式修正符 
  72.     處理函數: 
  73.         preg_match() 
  74.     */ 
  75.  
  76.     $pattern = "/((a)b{2,}c)/"
  77.     $str = "aaaabbbbccc"
  78.     if(preg_match($pattern,$str,$arr)){ 
  79.         echo "正則表達式$pattern 匹配成功!"
  80.     }else
  81.         echo "<font color='#FF000000'>正則表達式$pattern 匹配失敗!</font>"
  82.     } 
  83.     print_r($arr); 
  84.      
  85. ?> 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章