PHP中正则表达式学习及应用

正则表达式元字符

* 匹配前一个内容的0次1次或多次 . 匹配内容的0次1次或多次,但不包含回车换行 + 匹配前一个内容的1次或多次 ?匹配前一个内容的0次或1次 | 选择匹配类似PHP中的| (因为这个运算符合是弱类型导致前面最为整体匹配) ^ 匹配字符串首部内容 $ 匹配字符串尾部内容 \b 匹配单词边界,边界可以是空格或者特殊符合 \B 匹配除带单词边界意外内容 {m} 匹配前一个内容的重复次数为M次 {m,} 匹配前一个内容的重复次数大于等于M次 {m,n} 匹配前一个内容的重复次数M次到N次 ( ) 合并整体匹配,并放入内存,可使用\1 \2…依次获取

按照运算顺序计算匹配

  1. ( ) 圆括号因为是内存处理所以最高
  2. * ? + { } 重复匹配内容其次
  3. ^ $ \b 边界处理第三
  4. | 条件处理第四

模式修正符

i 正则内容在匹配时候不区分大小写(默认是区分的) m 在匹配首内容或者尾内容时候采用多行识别匹配 S 将转义回车取消是为单行匹配如. 匹配的时候 x 忽略正则中的空白 A 强制从头开始匹配 D 强制$匹配尾部无任何内容 \n U 禁止贪婪匹配 只跟踪到最近的一个匹配符并结束, 常用在采集程序上的正则表达式

preg_match_all 全部匹配函数

preg_match_all ( string pattern, string subject, array matches [, int flags] )用途:截取比较详细的内容,采集网页,分析文本

preg_replace 正则替换函数

preg_replace ( mixed pattern, mixed replacement, mixed subject [, int limit] )通过正则表达式来替换相关内容,类似之前学过的str_replace字符串替换,但功能要强于它。

提示:1、替换内容可以是一个正则也可以是数组正则 2、替换内容可以通过修正符e来解决替换执行内容

preg_split 正则切割

preg_split ( string pattern, string subject [, int limit [, int flags]] )通过正则表达式来切割相关内容,类似之前学过的explode切割函数,但explode只能按照一种方式切割有局限性。

原文发布于微信公众号 - php(phpdaily)

原文发表时间:2014-11-02

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏技巅

Thrift之代码生成器Compiler原理及源码详细解析2

2215
来自专栏阮一峰的网络日志

awk 入门教程

它依次处理文件的每一行,并读取里面的每一个字段。对于日志、CSV 那样的每行格式相同的文本文件,awk可能是最方便的工具。

932
来自专栏有趣的Python

2-Linux C语言指针与内存-学习笔记

为原来的变量值加上*, change函数改为传入&a &b 3和5可以成功的交换。

1803
来自专栏玩转JavaEE

MongoDB固定集合

一般情况下我们创建的集合是没有大小的,可以一直往里边添加文档,这种集合可以动态增长,MongoDB中还有一种集合叫做固定集合,这种集合的大小是固定的,我可以在创...

3367
来自专栏小樱的经验随笔

线段树区间更新操作及Lazy思想(详解)

此题题意很好懂:  给你N个数,Q个操作,操作有两种,‘Q a b ’是询问a~b这段数的和,‘C a b c’是把a~b这段数都加上c。 需要用到线...

5067
来自专栏专注数据中心高性能网络技术研发

HERD--GCC宏

减少跳转语句失效时CPU等待取指令时间,提高CPU效率 使用__builtin_expect(EXP,N) 意思是EXP==N的概率很大 一般封装为LIKELY...

2935
来自专栏python读书笔记

《算法图解》NOTE 5 散列表1.散列表简介2.散列表的特点2.1优点2.2缺点3.应用

1875
来自专栏软件开发 -- 分享 互助 成长

C++ STL之迭代器注意事项

1、两个迭代器组成的区间是前闭后开的 2、如果迭代器的有效性,如果迭代器所指向的元素已经被删除,那么迭代器会失效 http://blog.csdn.net/hs...

2135
来自专栏Java 源码分析

并查集

​ 在我们需要判断某一些事物之间是否存在一定的关系的时候,我们最好的办法不是使用图而是使用并查集。因为我们关心的是他们之间是否有关系,而不是关心的他们到底...

3557
来自专栏码云1024

c++模板与泛型编程

2873

扫码关注云+社区