程序師世界是廣大編程愛好者互助、分享、學習的平台,程序師世界有你更精彩!
首頁
編程語言
C語言|JAVA編程
Python編程
網頁編程
ASP編程|PHP編程
JSP編程
數據庫知識
MYSQL數據庫|SqlServer數據庫
Oracle數據庫|DB2數據庫
 程式師世界 >> 編程語言 >> 網頁編程 >> PHP編程 >> 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:都過了驗證器的驗證,驗證器見參考資料。

PS:這裡再為大家提供2款非常方便的正則表達式工具供大家參考使用:

JavaScript正則表達式在線測試工具:
http://tools.jb51.net/regex/javascript

正則表達式在線生成工具:
http://tools.jb51.net/regex/create_reg

  1. 上一頁:
  2. 下一頁:
Copyright © 程式師世界 All Rights Reserved