• 欢迎访问搞代码网站,推荐使用最新版火狐浏览器和Chrome浏览器访问本网站!
  • 如果您觉得本站非常有看点,那么赶紧使用Ctrl+D 收藏搞代码吧

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

php 搞代码 4年前 (2022-01-01) 26次浏览 已收录 0个评论

这篇文章主要介绍了PHP正则表达式处理函数(PCRE 函数),结合实例形式总结分析了php正则表达式preg_replace、preg_match、preg_match_all、preg_split及preg_quote等函数相关使用技巧,需要的朋友可以参考下

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

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

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

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

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

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

 <?php echo "<pre class="prettyprint linenums">"; $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 class="prettyprint linenums">"; $str = "团购商品"; //匹配出链接地址 preg_match("/.*?/",$str,$res); print_r($res); ?> 

输出

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

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

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

 <?php echo "<pre class="prettyprint linenums">"; $str=<<<EOF <div> 首页 GSM手机 双模手机 手机配件 </div> EOF; //使用全局正则匹配 preg_match_all("/(.*?)/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 class="prettyprint linenums">"; $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 class="prettyprint linenums">"; echo preg_quote("(abc){10}");//在每个正则表达式语法的字符前增加一个反斜杠 ?> 

输出

\(abc\)\{10\}

六、子存储

 <?php echo "<pre class="prettyprint linenums">"; //子存储使用 $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] => ,
        )
)

详细版请参考://www.gaodaima.com/article/160947.htm

PS:这里再为大家提供2款非常方便的正则表达式工具供大家参考使用:

JavaScript正则表达式在线测试工具:
http://tools.gaodaima.com/regex/javascript

正则表达式在线生成工具:
http://tools.h来源gao@daima#com搞(%代@#码网tml.cn/regex/create_reg

更多关于PHP相关内容感兴趣的读者可查看本站专题:《php正则表达式用法总结》、《php程序设计安全教程》、《php安全过滤技巧总结》、《PHP数组(Array)操作技巧大全》、《PHP基本语法入门教程》、《php字符串(string)用法总结》及《php+mysql数据库操作入门教程》

希望本文所述对大家PHP程序设计有所帮助。

以上就是PHP正则表达式处理函数(PCRE 函数)实例小结的详细内容,更多请关注gaodaima搞代码网其它相关文章!


搞代码网(gaodaima.com)提供的所有资源部分来自互联网,如果有侵犯您的版权或其他权益,请说明详细缘由并提供版权或权益证明然后发送到邮箱[email protected],我们会在看到邮件的第一时间内为您处理,或直接联系QQ:872152909。本网站采用BY-NC-SA协议进行授权
转载请注明原文链接:PHP正则表达式处理函数(PCRE 函数)实例小结

喜欢 (0)
[搞代码]
分享 (0)
发表我的评论
取消评论

表情 贴图 加粗 删除线 居中 斜体 签到

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址