萬盛學電腦網

 萬盛學電腦網 >> 網絡編程 >> php編程 >> php使用正則表達式提取字符串中尖括號、小括號、中括號、大括號中的字符

php使用正則表達式提取字符串中尖括號、小括號、中括號、大括號中的字符

 PHP使用正則表達式提取字符串中尖括號<>、小括號()、中括號[]、大括號{}中的字符示例,需要的朋友可以參考下

   代碼如下: $str="你好<我>(愛)[北京]{天安門}";    echo f1($str); //返回你好  echo f2($str); //返回我  echo f3($str); //返回愛  echo f4($str); //返回北京  echo f5($str); //返回天安門    function f1($str)  {  $result = array();  preg_match_all("/^(.*)(?:<)/i",$str, $result);  return $result[1][0];  }    function f2($str)  {  $result = array();  preg_match_all("/(?:<)(.*)(?:>)/i",$str, $result);  return $result[1][0];  }    function f3($str)  {  $result = array();  preg_match_all("/(?:()(.*)(?:))/i",$str, $result);  return $result[1][0];  }    function f4($str)  {  $result = array();  preg_match_all("/(?:[)(.*)(?:])/i",$str, $result);  return $result[1][0];  }    function f5($str)  {  $result = array();  preg_match_all("/(?:{)(.*)(?:})/i",$str, $result);  return $result[1][0];  }        PS: (?:字符) 表示不捕獲這個字符。貌似PHP不支持將字符換成括號。  否則的話可以將環視給嵌套進去,就可以循環匹配了。  PS2:環視:(?!) (?=) (?<!) (?<=)  有小於號的在右側匹配,沒有的在左側匹配。感歎號表示不等,等於號表示相等。  PS3:都過了驗證器的驗證,驗證器見參考資料。 
copyright © 萬盛學電腦網 all rights reserved