1.简介


2. PCRE 兼容正则表达式函数

2.1 preg_grep()函数

函数语法:
array preg_grep(string pattern , array input)

2.2 preg_match() 函数和preg_match_all() 函数

函数语法:
int preg_match/preg_match_all(string pattern,string subject[,array matches])

2.3 preg_quote() 函数

函数语法:
string preg_quote(string str[,string delimiter])

2.4 preg_replace() 函数

函数语法:
mixed preg_replace(mixed pattern,mixed replacement,mixed subject[,int limit])


2.5 preg_replace_callback() 函数

函数语法:
mixed preg_replace_callback(mixed pattern,callback callback,mixed subject[,int limit])


2.6 preg_split() 函数

函数语法:
array preg_split(string pattern ,string subject[,int limit])


正则表达式的搜索与替换在某些方面具有重要用途,比如调整目标字符串的格式,改变目标字符串中匹配字符串的顺序等。例如我们可以简单的调整字符串的日期格式:$string = 'April 15, 2014';
$pattern = '/(\w+) (\d+), (\d+)/i';
$replacement = '$3, ${1} $2';
echo preg_replace($pattern, $replacement, $string); //结果为:2014, April 15
其中${1}与$1的写法是等效的,表示第一个匹配的字串,$2代表第二个匹配的。通过复杂的模式,我们可以更加精确的替换目标字符串的内容。$patterns = array ('/(19|20)(\d{2})-(\d{1,2})-(\d{1,2})/','/^\s*{(\w+)}\s*=/');
$replace = array ('\3/\4/\1\2', '$\1 =');//\3等效于$3,\4等效于$4,依次类推
echo preg_replace($patterns, $replace, '{startDate} = 1999-5-27'); //结果为:$startDate = 5/27/1999
//详细解释下结果:(19|20)表示取19或者20中任意一个数字,(\d{2})表示两个数字,
(\d{1,2})表示1个或2个数字,(\d{1,2})表示1个或
2个数字。^\s*{(\w+)\s*=}表示以任意空格开头的,
并且包含在{}中的字符,并且以任意空格结尾的,
最后有个=号的。
用正则替换来去掉多余的空格与字符:$str = 'one     two';
$str = preg_replace('/\s+/', ' ', $str);
echo $str; // 结果改变为'one two'

6. PHP 正则表达式相关推荐

  1. 通过正则表达式校验手机号码,拿走即用!

    校验手机号码 2021/01/06更新,电信新增了191号段 1. 单纯校验长度 2.正则表达式校验数字 3.正则表达式校验是否是大陆号码 4.正则表达式校验是否是香港号码 //校验长度private ...

  2. Linux shell 学习笔记(15)— shell 正则表达式

    1. 定义 BRE 模式 1.1 纯文本 第一条原则就是:正则表达式模式都区分大小写.这意味着它们只会匹配大小写也相符的模式. $ echo "This is a test" | ...

  3. re2正则表达式匹配引擎的c接口版本cre2的中文使用手册

    前言 re2 官方地址: https://github.com/google/re2 cre2 官方地址: https://github.com/marcomaggi/cre2 1 基本类型定义 不透 ...

  4. 正则表达式(括号)、[中括号]、{大括号}的区别小结

    正则表达式(括号).[中括号].{大括号}的区别小结 </h1><div class="clear"></div><div class=& ...

  5. Python中正则表达式用法 重点格式以这个为准_首看_各种问题

    20210811 https://www.jb51.net/article/101258.htm 一.惰性模式的概念: 此模式和贪婪模式恰好相反,它尽可能少的匹配字符以满足正则表达式即可,例如: va ...

  6. 正则语法完全正则表达式手册_语法格式重点

    20211202 https://blog.csdn.net/lc11535/article/details/103266263 该表达式打开re.U(re.UNICODE)标志. python –& ...

  7. 正则表达式 - 语法

    正则表达式(regular expression)描述了一种字符串匹配的模式(pattern),可以用来检查一个串是否含有某种子串.将匹配的子串替换或者从某个串中取出符合某个条件的子串等. 例如: r ...

  8. 正则表达式中的\.表示什么意思

    \ 这是引用符,用来将这里列出的这些元字符当作普通的字符来进行匹配.例如正则表达式\$被用来匹配美元符号,而不是行尾,类似的,正则表达式\.用来匹配点字符,而不是任何字符的通配符.

  9. ?:在正则表达式中什么意思

    "?:"非获取匹配,匹配冒号后的内容但不获取匹配结果,不进行存储供以后使用. 单独的"?":匹配前面的子表达式零次或一次. 当"?"紧跟在任 ...

  10. 关于正则表达式 \1 \2之类的问题

    我们创建一个正则表达式 var RegExp = /^(123)(456)\2\1$/; 这个正则表达式匹配到的字符串就是 123456456123 创建另外第二正则表达式 var RegExp1 = ...

最新文章

  1. 杨鹏谈世纪佳缘推荐算法:基于Spark GraphX,弃GBDT和LR用FM
  2. ResourceManager中的Resource Estimator框架介绍与算法剖析
  3. 为什么火狐浏览器中点击按钮失效_各种浏览器审查、监听http头工具介绍
  4. xp系统一直跳出宽带连接服务器,XP系统网络问题解决方案
  5. 【伙伴故事】一盏智能灯,点亮家庭和工业照明的新未来
  6. C# 判断字符中是否包含中文
  7. BestCoder Round #70
  8. MTK驱动增加支持扫描显示中文SSID
  9. 传智播客黑马程序员_Hanselminutes播客48-适用于极客和程序员的入门棋盘游戏
  10. WebRtc与P2P
  11. Java资深开发:这不得40k起步呀
  12. 块加密 工作模式 ECB、CBC、PCBC、CFB、OFB、CTR
  13. Asterisk是什么?
  14. AutoCAD Civil 3D-纵断面-创建曲面纵断面与布局纵断面
  15. 【三次过】Lintcode 778. 太平洋和大西洋的水流
  16. 大一新生常见心理难题与解答
  17. Qt窗口最大化/最小化/窗口状态判断
  18. ​探讨AI+新模式,百度大脑提供纺织企业数字化转型新路径
  19. 利用vmware虚拟机创建一个软盘映像文件
  20. (附源码)springboot网络不良信息检测系统 毕业设计 231155

热门文章

  1. [转] - 浅谈数据分析和数据建模
  2. 安装scrapy报错问题解决
  3. XAMPP mysql远程连接
  4. 百度编辑器ueditor字体添加
  5. [翻译]No.9354 SharePoint Pages(3)之网站页面
  6. MatchingFrontier包简介及R实现
  7. 【Low版】HAUT - OJ - Contest1035 - 2017届新生周赛(六)题解
  8. java和javascript双引号嵌套的问题
  9. poj 3984 迷宫问题(bfs)
  10. asp优化:认识和优化connection对象