preg_match();     //用于正则表达式的匹配,且只匹配一次

preg_match_all();//用于正则表达式的匹配,会对所有符合规则的都进行匹配

preg_replace();   //正则表达式替换函数

preg_splite();     //正则分割函数

preg_match ( mode, string subject , arraymatches )

其中mode是正则规则,string subject是要匹配的字符串,arraymatches是匹配的结果数组

例子:

<?php
$mode='/[89]/';//匹配8或者9
$str="djfkdsjk10903990sjdfdk";
preg_match($mode,$str,$arr);
print_r($arr);
?>

输出:

Array ( [0] => 9 ) 

preg_match_all ( mode, string subject , arraymatches )

该函数和preg_match_all()函数的功能类似,不过该函数会匹配所有符合要求的内容,并将之存放到字符串中。

例子:

<?php
$mode='/[89]/';//匹配8或者9
$str="dj33f44k88dsjk10903990sjdfdk";
preg_match_all($mode,$str,$arr);
print_r($arr);
?>

输出:

Array ( [0] => Array ( [0] => 8 [1] => 8 [2] => 9 [3] => 9 [4] => 9 ) ) 

preg_replace ( mixed pattern, mixed replacement,mixed subject [, int limit] )

通过正则表达式来替换相关内容,类似之前学过的str_replace字符串替换,但功能要强于它。

特点:1、替换内容可以是一个正则也可以是数组正则

2、替换内容可以通过修正符e来解决替换执行内容

用途:替换一些比较复杂的内容上,也可以用于内容的转换上

例子1——数组正则:

<?php
$mode=array('/{title}/','/{author}/','/{url}/');
$re=array("code cloud","qianshou","http://codecloud.duapp.com/");
$str="标题:{title}<br>作者:{author}<br>地址:{url}";
echo "<hr/>";
if($tag=preg_replace($mode,$re,$str)){echo $tag;
}else{echo "替换不成功!";
}
?>

输出:

标题:code cloud
作者:qianshou
地址:http://codecloud.duapp.com/

例子2——ubb代码的替换:

<?php
$str="欢迎来到我的博客:[url]http://blog.csdn.net/qsyzb[/url]";
$re=preg_replace('/\[url\](.*)\[\/url\]/',"<a href=\"\\1\" target=\"new\">\\1</a>",$str);
echo "<hr>".$re."<hr>";
?>

输出:

<hr>欢迎来到我的博客:<a href="http://blog.csdn.net/qsyzb" target="new">http://blog.csdn.net/qsyzb</a><hr>

preg_split ( string pattern, string subject [, intlimit [, int flags]] )

通过正则表达式来切割相关内容,类似之前学过的explode切割函数,但explode只能按照一种方式切割有局限性。

例子:

<?php
$mode='/[,.#]/';
$str='one,two.three#four';
if($tag=preg_split($mode,$str)){print_r($tag);
}else{echo "替换不成功!";
}
?>

输出:

Array
([0] => one[1] => two[2] => three[3] => four
)

转载于:https://www.cnblogs.com/suncoolcat/p/3292124.html

PHP中的正则表达式函数preg_相关推荐

  1. java中正则表达式函数_java正则表达式PHP中的正则表达式函数介绍

    java正则表达式PHP中的正则表达式函数介绍 正则表达式(Regular Expression) 正则表达式系统: 1.POSIX 2.Perl PHP中使用的regex是PCRE: NOTE:PC ...

  2. oracle 正则表达式拆分字符串,oracle中通过正则表达式函数处理逗号分隔的字段...

    这个题目的确不大好写,其实际含义基于一个场景: 比如在oracle的某张表中,有两个字段 A1          B1 1         A,B,C,D, 2         E,F 假如现在的需求 ...

  3. php的正则表达式函数,php中常用的正则表达式函数

    php中常用的正则表达式函数 * preg_match() * preg_match_all() * preg_replace() * preg_filter() * preg_grep() * pr ...

  4. php 字符串替换 正则表达式,PHP中一些可以替代正则表达式函数的字符串操作函数...

    0x01:根据预定义的字符对字符串进行词法分析 /* * 在处理大量信息时,正则表达式函数会使速度大幅减慢.应当在需要使用正则表达式解析比较复杂的字符串时才能使用这些函数.如果要解析简单的表达式,还可 ...

  5. js 正则表达式奇偶字符串替换_Python中的正则表达式及其常用匹配函数用法简介...

    今 日 鸡 汤 此曲只应天上有,人间难得几回闻. /1 前言/ 这次给大家主要是介绍Python中的正则表达式,及其相关函数的基本使用方法,并且捎带一些正则表达式给我们带来的便利. /2 简介/ Py ...

  6. oracle正则判断身份证号,Oracle中查询使用正则表达式函数REGEXP

    Oracle中的Like操作符使用"_"和"%"作为通配符,使用就像这样: Java代码 SELECT name FROM test_like WHERE na ...

  7. Python中re(正则表达式)模块函数学习

    2019独角兽企业重金招聘Python工程师标准>>> Python正则表达式指南 今天学习了Python中有关正则表达式的知识.关于正则表达式的语法,不作过多解释,网上有许多学习的 ...

  8. excel中用正则匹配_excel 中如何使用正则表达式函数提取或替换内容

    word中自带正则表达式,不过Excel中却没有内置.可以在VBA中定义一个正则表达式函数,然后Excel中就可以调用了.VBA代码如下(VBA高亮无效,凑合着看): 1.Function ExStr ...

  9. php正则网络图片格式,php中通过正则表达式下载内容中的远程图片的函数代码

    这段程序其实是属于"小偷程序"的重要部分. 这一段程序只是下载远程图片的那一段而已,程序写的比较简单,大多部分都做了注释. if (preg_match_all("/ht ...

最新文章

  1. PHP算法题:如何实现冒泡排序
  2. ios玩全民奇迹不显示服务器,全民奇迹关于IOS充值游戏物品不到账公告
  3. 网络编程学习笔记(基本套接口选项)
  4. zabbix在windows服务器下监控
  5. 写在前面,白话 Yaf 探秘与深入
  6. 标准C程序设计七---46
  7. 遍历文件夹并移动其中所有的文件
  8. Redis学习---(9)Redis 列表(List)
  9. 安卓俄罗斯方块java解释_Android实现俄罗斯方块
  10. 服务器和交换机物理连接_什么是光纤交换机?有什么功能?
  11. JS_js数组倒序排列、字符串数组转为数字数组,反转数组/字符串/数字
  12. 计算机技术三大领域,量化投资策略的运用
  13. 『天涯杂谈』衣食住行小窍门
  14. oem和odm是什么意思?oem与odm区别是什么?
  15. cs架构(cs架构和bs架构的区别)
  16. 海客票务管理系统 ------ 项目总结
  17. 通过一道ARM PWN题引发的思考:jarvisOJ_typo
  18. 余压监控系统在高层住宅楼的应用
  19. 中国有机盐行业市场供需与战略研究报告
  20. Linux中su与su - 的区别

热门文章

  1. maven项目和普通项目转换
  2. [REGEX] 匹配任意字符(包括换行符)
  3. 【Android Developers Training】 58. 缓存位图
  4. 10个开源免费的电子商务平台(转自伯乐在线)
  5. java 将json转成utf 8_解决JSON.stringify()自动将中文转译成unicode的方法
  6. Unhandled exception: org.springframework.beans.factory.BeanDefinitionStoreException
  7. 如何理解Java中的自动拆箱和自动装箱?
  8. Cannot resolve symbol 'R',Failed to resolve: constraint-layout
  9. Android 自定义Switch,仿微信开关键Switch
  10. Android listview优化以及listview混合itemview