PHP正则表达式处理函数(PCRE 函数)实例小结


Posted in PHP onMay 09, 2019

本文实例讲述了PHP正则表达式处理函数。分享给大家供大家参考,具体如下:

有时候在一些特定的业务场景中需要匹配,或者提取一些关键的信息,例如匹配网页中的一些链接,

提取一些数据时,可能会用到正则匹配。

下面介绍一下php中的一些常用的正则处理函数。

一、preg_replace($pattern,$replacement,$subject)

执行一个正则表达式的搜索和替换。

<?php
  echo "<pre>";
  $str = "12,34:56;784;35,67:897:65";
  //要求将上面的:,;都换成空格
  print_r(preg_replace("/[,;:]/"," ",$str));
?>

输出

12 34 56 784 35 67 897 65

二、preg_match($pattern,$subject,&$matches)

执行匹配正则表达式

<?php
  echo "<pre>";
  $str = "<a href=\"https://www.baidu.com\">团购商品</a>";
  //匹配出链接地址
  preg_match("/<a href=\"(.*?)\">.*?<\/a>/",$str,$res);
  print_r($res);
?>

输出

Array
(
    [0] => 团购商品
    [1] => https://www.baidu.com
)

三、preg_match_all($pattern,$subject,&$matches)

执行一个全局正则表达式匹配

<?php
  echo "<pre>";
  $str=<<<EOF
  <div>
    <a href="index.php" rel="external nofollow" >首页</a>
    <a href="category.php?id=3" rel="external nofollow" >GSM手机</a>
    <a href="category.php?id=4" rel="external nofollow" >双模手机</a>
    <a href="category.php?id=6" rel="external nofollow" >手机配件</a>
  </div>
EOF;
  //使用全局正则匹配
  preg_match_all("/<a href=\"(.*?)\">(.*?)<\/a>/s",$str,$res);
  print_r($res);
?>

输出

Array
(
    [0] => Array
        (
            [0] => 首页
            [1] => GSM手机
            [2] => 双模手机
            [3] => 手机配件
        )
    [1] => Array
        (
            [0] => index.php
            [1] => category.php?id=3
            [2] => category.php?id=4
            [3] => category.php?id=6
        )
    [2] => Array
        (
            [0] => 首页
            [1] => GSM手机
            [2] => 双模手机
            [3] => 手机配件
        )
)

四、preg_split($pattern,$subject)

通过一个正则表达式分隔字符串

<?php
  echo "<pre>";
  $str = "12,34:56;784;35,67:897:65";
  //分隔字符串
  $arr = preg_split("/[,;:]/",$str);
  print_r($arr);
?>

输出

Array
(
    [0] => 12
    [1] => 34
    [2] => 56
    [3] => 784
    [4] => 35
    [5] => 67
    [6] => 897
    [7] => 65
)

五、preg_quote($str)

转义正则表达式字符

正则表达式特殊字符有:. \ + * ? [ ^ ] $ ( ) { } = ! < > : -

<?php
  echo "<pre>";
  echo preg_quote("(abc){10}");//在每个正则表达式语法的字符前增加一个反斜杠
?>

输出

\(abc\)\{10\}

六、子存储

<?php
  echo "<pre>";
  //子存储使用
  $date="[2012-08-09],[2012,09-19],[2011/08,09],[2012/10/09],[2013,08,01]";
  //将上面字串中合法的日期匹配出来
  preg_match_all("/\[[0-9]{4}([\-,\/])[0-9]{2}\\1[0-9]{2}\]/",$date,$a);
  print_r($a);
?>

输出

Array
(
    [0] => Array
        (
            [0] => [2012-08-09]
            [1] => [2012/10/09]
            [2] => [2013,08,01]
        )
    [1] => Array
        (
            [0] => -
            [1] => /
            [2] => ,
        )
)

详细版请参考://3water.com/article/160947.htm

PHP 相关文章推荐
php-cli简介(不会Shell语言一样用Shell)
Jun 03 PHP
修改php.ini不生效问题解决方法(上传大于8M的文件)
Jun 14 PHP
php读取纯真ip数据库使用示例
Jan 26 PHP
php调用C代码的实现方法
Mar 11 PHP
php继承中方法重载(覆盖)的应用场合
Feb 09 PHP
PHP中文乱码解决方案
Mar 05 PHP
php遍历删除整个目录及文件的方法
Mar 13 PHP
必须收藏的php实用代码片段
Feb 02 PHP
使用PHP处理数据库数据如何将数据返回客户端并显示当前状态
Feb 16 PHP
PHP中模拟链表和链表的基本操作示例
Feb 27 PHP
总结PHP中数值计算的注意事项
Aug 14 PHP
PHP实现非阻塞模式的方法分析
Jul 26 PHP
Laravel配置全局公共函数的方法步骤
May 09 #PHP
Laravel Validator自定义错误返回提示消息并在前端展示
May 09 #PHP
PHP正则表达式笔记与实例详解
May 09 #PHP
PHP抽象类与接口的区别实例详解
May 09 #PHP
php和vue配合使用技巧和方法
May 09 #PHP
php查询内存信息操作示例
May 09 #PHP
PHP利用百度ai实现文本和图片审核
May 08 #PHP
You might like
再次研究下cache_lite
2007/02/14 PHP
解析php php_openssl.dll的作用
2013/07/01 PHP
一个PHP二维数组排序的函数分享
2014/01/17 PHP
php利用smtp类实现电子邮件发送
2015/10/30 PHP
php微信开发之自定义菜单实现
2016/11/18 PHP
BOOM vs RR BO5 第一场 2.14
2021/03/10 DOTA
Javascript学习笔记6 prototype的提出
2010/01/11 Javascript
js判断字符长度以及中英文数字等
2013/12/31 Javascript
Javascript数据结构与算法之列表详解
2015/03/12 Javascript
jQuery简单实现QQ空间点赞已经取消点赞
2015/04/02 Javascript
JavaScript多线程详解
2015/08/12 Javascript
vue动态组件实现选项卡切换效果
2017/03/08 Javascript
JS+canvas实现的五子棋游戏【人机大战版】
2017/07/19 Javascript
Three.js如何用轨迹球插件(trackball)增加对模型的交互功能详解
2017/09/25 Javascript
react-native组件中NavigatorIOS和ListView结合使用的方法
2017/09/30 Javascript
Angular实现较为复杂的表格过滤,删除功能示例
2017/12/23 Javascript
node实现的爬虫功能示例
2018/05/04 Javascript
vue.js项目 el-input 组件 监听回车键实现搜索功能示例
2018/08/25 Javascript
JavaScript中的一些实用小技巧总结
2019/04/07 Javascript
详解vue中axios请求的封装
2019/04/08 Javascript
python中异常报错处理方法汇总
2016/11/20 Python
使用python搭建服务器并实现Android端与之通信的方法
2019/06/28 Python
Python实现微信翻译机器人的方法
2019/08/13 Python
使用python动态生成波形曲线的实现
2019/12/04 Python
浅谈python3 构造函数和析构函数
2020/03/12 Python
pytorch  网络参数 weight bias 初始化详解
2020/06/24 Python
python3.6中anaconda安装sklearn踩坑实录
2020/07/28 Python
jupyter notebook 写代码自动补全的实现
2020/11/02 Python
python palywright库基本使用
2021/01/21 Python
Fairyseason:为个人和批发商提供女装和配件
2017/03/01 全球购物
Wedgwood美国官网:英国骨瓷,精美礼品及家居装饰
2018/02/17 全球购物
美体小铺印度官网:The Body Shop印度
2019/10/17 全球购物
2014年销售员工作总结
2014/12/01 职场文书
音乐之声观后感
2015/06/04 职场文书
法人代表资格证明书
2015/06/18 职场文书
MySQL的安装与配置详细教程
2021/06/26 MySQL