php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
php使用正则表达式提取字符串中尖括号、小括号、中括号、大括号中的字符串
发布时间:2016-12-29 来源:查字典编辑
摘要:复制代码代码如下:$str="你好(爱)[北京]{天安门}";echof1($str);//返回你好echof2($str);//返回我ec...

复制代码 代码如下:

$str="你好<我>(爱)[北京]{天安门}";

echo f1($str); //返回你好

echo f2($str); //返回我

echo f3($str); //返回爱

echo f4($str); //返回北京

echo f5($str); //返回天安门

function f1($str)

{

$result = array();

preg_match_all("/^(.*)(",$str, $result);

return $result[1][0];

}

function f2($str)

{

$result = array();

preg_match_all("/(?:<)(.*)(",$str, $result);

return $result[1][0];

}

function f3($str)

{

$result = array();

preg_match_all("/(?:()(.*)(",$str, $result);

return $result[1][0];

}

function f4($str)

{

$result = array();

preg_match_all("/(?:[)(.*)(",$str, $result);

return $result[1][0];

}

function f5($str)

{

$result = array();

preg_match_all("/(?:{)(.*)(",$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

推荐文章
猜你喜欢
附近的人在看
推荐阅读
拓展阅读
相关阅读
网友关注
最新php教程学习
热门php教程学习
编程开发子分类