首頁 >php教程 >php手册 >php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串

php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串

WBOY
WBOY原創
2016-06-06 20:23:351156瀏覽

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("/^(.*)(?: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:都过了验证器的验证,,验证器见参考资料。

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn