当前课程知识点:PHP程序设计 > 字符串函数 > 正则表达式 > 兼容正则表达式函数
那么
正则表达式
也称为
一种模式表达式它表达的是一种模式
也就是你约定好那个地方
应该符合什么样的规则
那么它是怎样规定的呢
它通过构建具有特定规则的
模式
与输入的
字符信息
比较
再进行
分割匹配
查找
替换的操作
刚才我举了一个例子
就是关于我们的用户表单里面的
大家注册的时候输入密码
输入密码的时候
我们是不是他们后台写的
一个正则表达式规定了它的特定规则
然后和你在页面上输入的字符信息进行一个比较
然后做了一个什么操作
只做了一个匹配操作对不对
如果不匹配
它直接给你弹个框
告诉你不行
但是呢
那么其他的这些什么时候做的
各位同学都是参加过那个
应该至少做过那个高考报名的那个
那是个很大一个表单
填了非常非常多的东西对不对
我相信你们在填的时候
比如说你自己填你的身份证号
一上来就填大家的身份证号
然后你填了一个身份证号进去
你可能会发现
当你把身份证号填完了之后
你在底下有一个出生年月的时候
它自动给你出来了
它自动给你获取出来了
那么它是怎么知道的
因为大家都知道我们的身份证号
里面是不是有你的出生信息
那么它通过你的身份证号
做了一个什么分割的操作
它把你的身份信息的那一段刚好切出来了
切出来之后
它不需要你在输入生日信息了
因为如果这些都让用户输的话
用户可能会觉得很烦
明明你可以取出来一些东西
我为什么老要在那块选来选去呢
对吧
所以那个时候其实做的就是一个分割
那么相对应的
我们肯定也是可以做查找和替换的
所以符合规则进行比较了之后
这些操作都是可以进行的
那你也看到了这些操作
我们当时字符串处理函数是不是有啊
对不对字符串处理函数也有
那么现在要做正则表达式了
那正则表达式怎样做分割呢
对于PHP来说
毫无疑问的它还是需要有什么的
需要有我们的
这个函数来做支持
所以我把函数手册打开对吧
在函数参考
小加号打开在函数参考里面
我们看看有没有正则表达式
哎
是不是出来了出来了
那么这有两个一个perl兼容的正则表达式
一个拓展正则表达式函数可以告诉大家
咱们用小三角打开看一眼
这么多再打开这么多
那么这两个函数库其实功能是相同的
功能是差不多的
应该准确的说是差不多的
但是呢
我们说这个perl兼容的正则表达式函数库
相对来说
它的效率高一些
所以既然相同
我们就用这个效率高的
大家注意一下这个效率高的
它的抬头都是什么开头的
preg对不对
也就是说
我们使用preg这一系列的函数
大家可以想一想这个是什么
这是不是就刚刚我们说过的匹配啊
对不对这个就是匹配
然后我们看一下这个这个做的是什么
搜索和替换
也就是我们正则表达式跟我们这些函数
一起使用就能够发挥什么搜索替换
然后匹配这样子
包括什么替换这样子的一个操作了对吧
那么我把这一句也要写上
如果
正则表达式
不和函数一起使用
则它就是一个字符串
同学们看到这就是我说的
正则表达式它不和函数用
它就是一个字符串
没有什么特殊的对吧
而且是写的很难读懂的字符串对吧
如果正则表达式
放在
某个函数中使用
才能发挥作用
放到分割函数中
那么
可以用这个正则表达式
去分割字符串
那么如果你再放在什么匹配函数中
我们是不是就可以去匹配字符串了对吧
所以呢
如果你放替换
自然也可以放到替换的这个
可以去替换字符串了好的
所以我们来看一下函数手册里面的一个
就是这个匹配吧
因为这个匹配最明显
我们今天就写一个PHP函数
然后反复的做正则表达式
看看它跟哪些字符串有匹配
对吧有匹配
那么我们来看一下这个函数怎么写
这个函数一上来是不是
括号里面有几个参数
其实还有四个参数
但是前两个是必须要写的
第一个参数这是什么呢
这就是模式对吧模式
也就是说第一个参数要写什么
正则表达式对不对
第二个参数subject主题
也就是说
这个模式匹配每一个字符串对吧
后面写的是字符串
前面写的是正则表达式
它的返回值呢大家都看到了
这是int那么仔细再看一下对吧
它返回个什么
返回的是一个所匹配的次数
就是要么是零次
那就是没有匹配
也就是你约定的这个正则表达式
和这个字符串没有能匹配上的对吧
也就是不符合这个规则
那么要么就是一次对吧
你就是匹配上它就返回一个一
那么这样子的话
我们看看咱们的例子里面这个函数
返回一个零和一是不是经常写在
if的这个条件里面
判断条件里面对吧
好的你看逗号隔开前面这写的是正则
后面这写的是字符串好的
那我们也写一个这样子的东西
对吧我们也写一个这样子的东西
这是一个字符串这个字符串其实是什么呢
其实是一个正则表达式的模式
那么
下一个下一个字符串对吧
下一个我们str
这就是一个我们要匹配的字符串对不对
是进行匹配的字符串好的
然后我们来写一下这个程序
我们就if括号里面刚才是什么
preg对吧
match
好括号里面哪个放在前面
是不是这个模式放前面
然后哪个str就是我们的这个字符串放在后面
然后我们
当匹配当这个为真心的时候说明什么
说明是不是匹配成功了
好的
我就给它输一个匹配成功
那么还有else的结果
对吧else
else的时候肯定是匹配失败的对吧
匹配失败
那么为了再明显一点
我给匹配失败想把匹配失败
标红怎么样标
是不是HTML
应该是标红是color了对吧
然后选一个什么颜色啊
红色对吧
哎
为什么颜色不对了
单引号记得
这个地方外面是不是带了个双引
里面要带个单引
好的我们分号带上
ok咱们做了这样子的一个程序
那我们一会儿写的正则表达式
我们就可以逐一的逐一的
往这个里面写对应的匹配字符串
就逐一的往这个里面写了
-PHP概述
-PHP概述--作业
-开发环境搭建
--开发环境搭建一
--开发环境搭建二
--集成环境的安装
-开发环境搭建--作业
-PHP语法入门
--语法入门一
--语法入门二
-PHP数据的输出
--数据输出
-PHP数据类型
--数据类型1
--数据类型2
--数据类型3
--数据类型4
--数据类型5
--数据类型6
-PHP常量和变量
--常量和变量1
--常量和变量2
--常量和变量3
--常量和变量4
--常量和变量5
--常量
-PHP常量和变量--作业
-PHP的运算符和表达式
--运算符和表达式1
--运算符和表达式2
--运算符和表达式3
-PHP语法基础--PHP的运算符和表达式
-条件判断语句
--条件判断语句1
--条件判断语句2
--条件判断语句3
--条件语句
-循环控制语句
--循环控制语句
--循环语句练习1
--循环语句练习2
-跳转语句和终止语句
--跳转和终止语句
-流程控制
-数组概述和分类
--数组概述和分类
--PHP数组分类
-数组创建、删除和修改
--数组创建
-数组遍历
--数组遍历1
--数组遍历2
--数组遍历3
--数组遍历4
--数组遍历5
--foreach
-数组相关函数
--数组相关函数1
--数组相关函数2
--数组相关函数3
--数组相关函数4
--数组相关函数5
--数组相关函数6
--数组函数的练习
-PHP数组--作业
-分页函数的应用
-函数的定义与调用
--函数定义与调用
-函数参数传递
--函数参数传递1
--函数参数传递2
-自定义函数总结和实验
-常用变量和数学函数
--变量和数学函数库
--数学函数实验
--数学函数
-日期和时间函数
--日期时间函数1
--时间日期函数2
--倒计时
-PHP函数--作业
-字符串概述
--字符串特点
--字符串处理方式
-常见的字符串函数
--常见字符串函数1
--输出函数1
--输出函数2
--输出函数3
--去除空白函数1
--去除空白函数2
--去除空白函数3
--其他字符串函数1
--其他字符串函数2
--字符串函数实验1
--字符串函数实验2
--字符串函数实验3
--字符串函数实验4
--字符串练习1
--字符串练习2
--字符串练习3
--字符串练习4
--字符串练习5
--字符串函数
-正则表达式
--正则表达式练习
--正则表达式
-字符串函数--作业
-文件概述和操作
--文件概述和操作1
--文件概述和操作2
-文件的上传和下载
--文件上传1
--文件上传2
--文件上传3
--文件下载
-图像基础
--图像基础1
--图像基础2
-图像基本操作
--图像基本操作1
--图像基本操作2
--图像基本操作3
--图像基本操作4
--图像基本操作5
--图像基本操作6
--表单与验证码的结合
--图像技术练习1
--图像技术练习2
--图像技术练习3
--缩略图
-PHP文件与图像技术-作业
-变色验证码
-会话表单
--会话表单概述1
--会话表单概述2
--会话表单概述3
--超全局变量1
--超全局变量2
--超全局变量3
--表单安全验证
--获取表单数据
-cookie概述
--COOKIE简介
--COOKIE
-session概述
--基本应用1
--基本应用2
-会话管理-作业
-会话管理
-MySQL和PHPMyadmin概述
--MySQL概述1
--MySQL概述2
-PHP访问MySQL
--连接服务器
--选择数据库
--浏览表内容1
--浏览表内容2
--使用mysqli扩展添加数据到数据库中
--使用mysqli扩展删除数据库中数据
--使用mysqli扩展修改数据库中数据
-MySQL扩展的使用
--添加数据页面1
--添加数据页面2
--删除页面1
--删除页面2
--删除页面3
--数据修改页面1
--数据修改页面2
--数据修改页面3