使用正则表达式PPT课件

合集下载
  1. 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
  2. 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
  3. 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
16.1 什么是正则表达式
本节先来介绍一下什么是正则表达式,正则表达式 的构成是怎样的,正则表达式的特点等。在这之后会通过一 个简单的例子来描述,正则是如何完成匹配与替换操作的。 通过本节的学习,可以对正则表达式这一抽象的概念有一个 整体上的认识。
16.1.1 正则表达式入门
在编写对字符串进行处理的的程序时,经常会有查找符 合某些复杂规则的字符串的需要。而正则表达式就是用于描述这 些规则的工具。换句话说,正则表达式就是记录文本规则的代码 。
16.2.8 “^”在中括号内的使用
前面介绍过,元字符“^”表示字符串的开始,其实 该元字符还可以用于中括号内表示逻辑非。即凡是该符号后 中括号的内容都不被允许。如以下代码所规定的正则规则:
"/%[^a-zA-Z]%/" 以上代码中,规定的正则内容为:在两个百分号中 间带有的不为任意字母的内容。如%5%、%3%将符合正则 ;而%a%、%d%则不符合正则。
16.2.7 “[”、“]”的使用
元字符中括号用于实现一个单一的字符的匹配。如以 下代码:
"/[ab]/" 匹配单个的a或者b(和"/a│b/"一样); "/[a-d]/" 匹配a到d的单个字符(和"/a│b│c│d/"以及 "/[abcd]/"效果一样)。 "/^[a-zA-Z]/" 匹配任意以字母开头的字符串。 "/[0-9]%/" 匹配含有形如x%的字符串。 "/,[a-zA-Z0-9]$/" 匹配以逗号在加一个数字或字母结尾的字符串。
int preg_match_all(string $pattern,string $subject[,array $matches[,int $flags]])
16.3.1 PERL兼容正则模式修正符
模式修正符用于设定正则中的行为,如大小写敏感 、圆点的匹配范围、美元字符串替换结束的行为等等。
16.3.2 正则表达式匹配
PERL兼容正则表达式函数中:preg_match()用于实 现正则表达式匹配,前面的例子中均使用了该函数。其完整 语法格式如以下代码所示:
16.2.9 字符转义
反斜线除了可以加其他字符表示通用字符之外( 见16.2.6)还可以对字符进行转义表示一些不可见的字符 内容。
16.3 PERL兼容正则表达式函数
PHP中有一类函数专门用于实现兼容正则表达式的查找 、替换与分割等操作。这类PHP函数完全兼容PERL中的正则 表达式使用,按其功能不同有3组共7个函数,分别实现:替换 、匹配、分割以及产生正则表达式等,下面分别来介绍。
16.2.1 “^”、“$”的使用
先来看元字符“^”的使用,该元字符表示以匹配字 符串的开始。如下所示:
"/^The/" 以上模式将匹配以The开头的字符串。
16.2.2 “*”、“+”、“?”的使用
这一组元字符用于限定指定字符的个数,下面将分别 介绍。
首先来看元字符“*”,该元字符用于限定0次到多次 的字符出现次数。如以下代码:
如以下代码: "/ab{2}/" 匹配一个a后面跟两个b(一个也不能少)。如“abb”。 "/ab{2,}/" 匹配一个a后面两个或者更多个“b”(即:最少更两个b)。如 “abb”、“abbbb”等等。 "/ab{3,5}/" 匹配一个a后面跟3-5个b(仅有三、四、五个三种情况)。 如“abbb”、“abbbb”、“abbbbb”。.
int preg_match(string $pattern,string $subject[,array $matches[,int $flags]])
16.3.3 正则表达式全局匹配
使用preg_match()仅能对是否符合正则规则进行匹配 ,但是却不能返回匹配次数。而使用preg_match_all()函数 即可进行全局匹配的操作。该函数的语法格式如下所示:
"/hello|hi/" 以上正则为所有含有:“hello”或者“hi”的内容。
16.2.6 “.”的使用
元字符“.”(点号)用于匹配任意一个字符。同样可 以用于匹配通用字符的还有反斜线加其他字符表示,共有以 下几种:
\d:该符号用于表示任一十进制数字。 \D:该符号用于表示任一非十进制数的字符。 \s:该符号用于表示任一空白字符。 \S:该符号用于表示任一非空白字符。 \w:该符号用于表示任一“字”的字符。 \W:该符号用于表示任一“非字”的字符。
"/a*b/" 该正则用于匹配一个a后面跟0到多个b,如“a“、 “ab“、“abb”、“abbbbbb”等。
Hale Waihona Puke Baidu
16.2.2 “*”、“+”、“?”的使用
16.2.3 “{”、“}”的使用
元字符“{”与“}”分别是数量限定符开始和结束的标记。所 以,可以在一对大括号中加上指定的数值来限制字符出现的次数。
在了解了什么是正则表达式后,这一节通过一个简 单的例子来说明,在PHP中如何使用正则表达式。
16.2 元字符
在16.1.2小节的代码使用的正则中用到了特殊符号 “^“、“. “、“*”、“$“,这一节上就来介绍这些特殊字 符——元字符的使用。那么到底何为元字符?所谓元字符就是 指那些在正则表达式中具有特殊意义的专用字符,可以使用这 些元字符来规定其前导字符(即位于元字符前面的字符)在目 标对象中的出现模式。
16.2.4 “(”、“)”的使用
元字符“(”、“)”的作用是把一定数量的字符连接起 来当作一个使用。如以下代码:
"/a(bc){1,5}/" 以上正则表达式表示的是要在一个a后面跟上1到5个bc ,如abc、abcbc、abcbcbcbcbc等。
16.2.5 “|”的使用
元字符“|”相当PHP逻辑表达符中的“OR”,表 达逻辑或。即满足该元字符左边或者右边的内容都将被认为 是匹配的。如以下代码:
最简单最常见的正则表达式应用要数Windows中的查找 了。大部分读者很可能使用过Windows/Dos下用于文件查找的通 配符(wildcard),即“*”和“?”。如果要查找某个目录下的 所有的Word文档,只需要搜索“*.doc”即可。在这里,“*”会 被解释成任意的字符串。
16.1.2 简单的例子
相关文档
最新文档