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 条评论
登录 后参与评论

相关文章

来自专栏流柯技术学院

正则中需要转义的特殊字符

872
来自专栏河湾欢儿的专栏

break和continue

练习: 打印1-100之间的乘积 计算1000以内所有不能被7整除的整数之和 计算出1-100之间不能被3整除的整数的和,和大于(或等于)2000的数字

762
来自专栏牛客网

知识总结:四个例子理解闭包//例一//例二//例三//例四

/** * 闭包原理 * @date   2017-04-10 14:04:17 * @version 1 */ //理解作用域、作用域链 //内部作用域可以通...

3359
来自专栏Jackson0714

正则表达式全部符号解释

34015
来自专栏搞前端的李蚊子

JS——判断一个对象是否为空

判断一个对象是否为空对象,本文给出三种判断方法: 1.最常见的思路,for...in...遍历属性,为真则为“非空数组”;否则为“空数组” ?  2.通过JSO...

3468
来自专栏技术换美食换不换

regular expression

A|B可以匹配A或B,所以(P|p)ython可以匹配'Python'或者'python'。

753
来自专栏程序员互动联盟

【答疑释惑】C++ cin的问题

Java中的高精度数字语音版 --------------------------------------------------------------- ...

3316
来自专栏编程

Shell 数组

Shell中数据类型不多,比如说字符串,数字类型,数组。数组是其中比较重要的一种,同时Shell中的数组不像JAVA/C,只能是一维数组,没有二维数组;数组元素...

1840
来自专栏闻道于事

JavaScript表单验证和正则表达式

JavaScript表单验证 ? 分为四类:   1.非空验证     常用于用户名等   2.相等验证     常用于验证两次输入的密码   3.范围验证  ...

3957
来自专栏Jackson0714

正则表达式全部符号解释

976

扫码关注云+社区