第9章 正则表达式-【千锋教育】PHP从入门到精通

| 40页
| 116人阅读
| 0人下载
教辅

内容正文:

第9章 正则表达式 初识正则表达式 正则表达式语法规则 正则表达式相关函数 正则表达式常见应用 正则表达式用法自查表 初识正则表达式 正则表达式语法规则 ☞点击查看本小节知识架构 正则表达式相关函数 9.2 9.3 9.1 ☞点击查看本小节知识架构 ☞点击查看本小节知识架构 正则表达式常见应用 正则表达式用法自查表 9.4 9.5 ☞点击查看本小节知识架构 学习目标 了解 掌握 掌握 理解 了解正则表达式的相关概念 1 掌握正则表达式的常见应用 4 2 掌握表达式的语法规则 3 理解正则表达式的相关函数 销售额 掌握知识 理解知识 熟悉知识 了解知识 2.5 2.5 2.5 2.5 9.1 初识正则表达式 9.1.1 正则表达式的概念 返回目录 9.1.2 正则表达式应用场景 9.1 初识正则表达式 9.1.1 正则表达式的概念 正则表达式是一种描述字符串结构的语法规则,是一个特定的格式化模式,可以匹配、替换、截取匹配的字符串。简单一点讲,正则表达式就像一把筛子,筛选出符合用户需要的各种数据,如图所示。 9.1 初识正则表达式 9.1.2 正则表达式应用场景 使用正则表达式解决问题,离不开一个词语“匹配”,例如,匹配单个字符、匹配一组字符串、匹配(或搜索)某一个大的内容范围里是否有用户需要的信息或数据等。在正式讲解本章内容之前,请大家认真思考以下两个场景: 有一张用户注册表单,表单中需要用户输入电子邮件地址。当用户完成邮件地址输入时,程序需要检查用户输入的电子邮件地址是否符合正确的语法格式,即是否是xxxxxx@xx.com这种邮箱格式 要搜索一个包含着单词reg(不区分大小写)的文件,但并不要求把包含字符串reg的其他单词(如regular、regret、regression、regressive)也搜索出来。 9.1 初识正则表达式 9.1.2 正则表达式应用场景 以上是大家编写程序时经常会遇到的场景,可以通过遍历字符串并在循环体中套用一系列if判断语句的方法来解决,但这样做的缺点也很明显,会造成程序性能低下、代码冗余、阅读性差等问题。 除此之外,另外一种较为简单的解决方案是使用正则表达式。正则表达式在字符串的匹配、查找、替换等方面具有很强的优势,上述场景中的需求都可以使用正则表达式实现。 9.2 正则表达式语法规则 9.2.1 行定位符 返回目录 9.2.2 单词定界符 9.2.3 字符类 9.2.4 选择字符 9.2.5 连字符 9.2.6 反义字符 8 9.2 正则表达式语法规则 9.2.7 限定符 返回目录 9.2.8 点字符 9.2.9 转义字符 9.2.10 反斜线 9.2.11 括号字符 9.2.12 反问引用 9 9.2 正则表达式语法规则 一个完整的正则表达式由元字符和文本字符两部分构成。接下来,本节将围绕不同的元字符讲解正则表达式的使用。 9.2 正则表达式语法规则 正则表达式通过行定位符(^和$)支持定位功能。行定位符用来描述字符串的边界,它可以确定字符在字符串中的具体方位,例如,^表示匹配输入字符串开始的位置,$表示匹配输入字符串结尾的位置。 为方便大家记忆和掌握,下面针对^和$两种行定位符作详细介绍,具体示例如下所示。 9.2.1 行定位符 9.2 正则表达式语法规则 单词定界符(\b和\B)是用来描述单词或非单词的边界,如匹配单词和空格间的位置。它有两种表现形式,一种是\b,表示匹配一个单词边界,也就是指单词和空格间的位置;另一种是\B,表示匹配非单词边界。 为方便大家理解和掌握,下面针对\b和\B两种单词定位符作详细介绍,具体示例如下所示。 9.2.2 单词定界符 9.2 正则表达式语法规则 在使用正则表达式匹配字符串时,有时会遇到忽略字母大小写的情况,此时可以使用方括号表达式([])。例如,要匹配字符串“Qf”不区分大小写,其表达式的格式如下所示。 9.2.3 字类符 上述表达式匹配字符串“Qf”的所有写法,如qf、Qf、qF、QF都可以匹配。 9.2 正则表达式语法规则 针对字符类的常见使用,POSIX和PCRE都使用了一些预定义字符类,但表示的方法略有不同。POSIX风格的预定义字符类如表所示。 9.2.3 字类符 表中列举了POSIX中的一些预定义字符类,这些字符类都是使用单词来表示的,而PCRE的预定义字符类则是使用反斜线表示的,关于PCRE预定义字符类的相关知识,将在后面的小节中进行详细讲解。 9.2 正则表达式语法规则 选择字符(|)表示的意义相当于“或”,例如,如果要匹配字符串“qf”并且不区分大小写,其表达式的格式如下所示。 9.2.4 选择字符 上述表达式匹配字符串“Qf”的所有写法,如qf、Qf等。除了匹配单个字符外,“|”也同样可以匹配字符串。例如,上述表达式

资源预览图

第9章 正则表达式-【千锋教育】PHP从入门到精通-第1页
1
第9章 正则表达式-【千锋教育】PHP从入门到精通-第2页
2
第9章 正则表达式-【千锋教育】PHP从入门到精通-第3页
3
第9章 正则表达式-【千锋教育】PHP从入门到精通-第4页
4
第9章 正则表达式-【千锋教育】PHP从入门到精通-第5页
5
第9章 正则表达式-【千锋教育】PHP从入门到精通-第6页
6

由于学科网是一个信息分享及获取的平台,不确保部分用户上传资料的 来源及知识产权归属。如您发现相关资料侵犯您的合法权益,请联系学科网,我们核实后将及时进行处理。