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

 更新时间:2014年04月07日 09:17:55   投稿:zxhpj   我要评论

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.sxglgf.com/regex/javascript

正则表达式在线生成工具:
http://tools.sxglgf.com/regex/create_reg

相关文章

  • 分享自定义的几个PHP功能函数

    分享自定义的几个PHP功能函数

    这篇文章主要介绍了分享自定义的几个PHP功能函数,本文罗列的都是WEB开发中常用的一些功能函数,例如提交过滤、字符串截取、IP地址匿名化、隐藏文件真实路径等,需要的朋友可以参考下
    2015-04-04
  • PHP数字和字符串ID互转函数(类似优酷ID)

    PHP数字和字符串ID互转函数(类似优酷ID)

    这篇文章主要介绍了PHP数字和字符串ID互转函数,生成的字符串ID类似优酷的视频ID,像一个加密过的数字ID,本文函数可以在数字ID和字符串ID间相互转换,需要的朋友可以参考下
    2014-06-06
  • PHP把网页保存为word文件的三种方法

    PHP把网页保存为word文件的三种方法

    最近工作遇到关于生成word的问题,现在总结一下生成word的三种方法的相关资料,需要的朋友可以参考下
    2014-04-04
  • PHP 实现文件压缩解压操作的方法

    PHP 实现文件压缩解压操作的方法

    这篇文章主要介绍了PHP 实现压缩解压操作的方法,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2019-06-06
  • php 数据结构之链表队列

    php 数据结构之链表队列

    这篇文章主要介绍了php 数据结构之链表队列的相关资料,希望通过本文能帮助到大家,需要的朋友可以参考下
    2017-10-10
  • php实现单笔转账到支付宝功能

    php实现单笔转账到支付宝功能

    这篇文章主要为大家详细介绍了php实现单笔转账到支付宝功能,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2018-10-10
  • 神盾加密解密教程(二)PHP 神盾解密

    神盾加密解密教程(二)PHP 神盾解密

    前些日子一个朋友丢了个shell给我,让我帮忙解密,打开源码看了下写着是 “神盾加密” , 牛逼闪闪的样子、 百度下发现神盾是个很古老的东西,最后一次更新是在 2012-10-09。和他相似的另一款是phpjm,有人说是神盾抄袭phpjm的,这些都不是我们所要关心的问题、phpjm一直在更新,而神盾貌似不搞了,我们分析下神盾,顺便写成工具,方便大家使用(因为他不更新,所以就不用担心解密工具失效问题了)。
    2014-06-06
  • Laravel 5 框架入门(三)

    Laravel 5 框架入门(三)

    本文给大家带来的是本系列教程的第三篇,主要给大家讲解的是Laravel5框架中利用自带的开箱即用的 Auth 系统对我们的后台进行权限验证,并构建出前台页面,对 Pages 进行展示。
    2015-04-04
  • 用HTML/JS/PHP方式实现页面延时跳转的简单实例

    用HTML/JS/PHP方式实现页面延时跳转的简单实例

    下面小编就为大家带来一篇用HTML/JS/PHP方式实现页面延时跳转的简单实例。小编觉得挺不错的,现在就分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2016-07-07
  • cakephp常见知识点汇总

    cakephp常见知识点汇总

    这篇文章主要介绍了cakephp常见知识点,汇总整理了cakephp的模板、金沙国际官网、日志、表单等相关操作技巧,需要的朋友可以参考下
    2017-02-02

最新评论