当前课程知识点:PHP程序设计 > 字符串函数 > 正则表达式 > 正则表达式元字符讲解4
OK 我们来学元字符里面最后一个
就是这个大括号的这样一个使用
这个使用非常的多
是一个重点
对吧是一个重点
我在这个地方做一个标注
好的
那么我用这个什么1呀
我这括号1也有了数字1也有了
我用个小a吧
小a来表示第一个
首先这个括号可以作为大原子使用
大原子使用大原子
什么情况呢
就是我们可以带括号
刚才咱们举了很多种例子
对不对很多这种例子
比如说我们举了一个abc
对不对我们举了个这样abc的例子
那么这一串里面是不是就应该有一个abc
而且是连续的对不对
那么我们还举了
如果把这个abc放在一个中括号里面
我们是不是就是任意一个
只要有一个它就能匹配成功啦
对不对有一个咱们就能匹配成功
咱们可以来看一下对吧
那么大原子是个什么呢
我们先把括号带上对吧
括号带上
那么这个括号就是
我们刚才元字符学了这么多
星啊加啊问号啊
如果你不带这个括号
写一个星加问号
它是不是只管前面一个原子
但是如果带上括号
咱们再写一个什么星啊
问号呀
加号呀
它就是把这前面一整个当做
那么这个咱们相当于是什么呀
先看一下我们现在写的这个abc
后面多了一个星号
abc后面多了个星号
我们这个地方只有一个
a能匹配成功吗
能吗
不对吧
我也怀疑我自己了
再看一眼
居然真的就匹配成功了
因为我们给的是星号
星号是什么
可以出现0次对不对可以出现0次
所以这一次都不出现
就可不可以
跟a没关系
整个abc一次都不出现可不可以
也是可以的
但是我们弄一个加号吧
弄个加号行不行
必须出现一次
所以这一次是不是100%失败啦
对不对必须出现一次
所以如果我们这abc
然后再来一个abc
再来一个abc能不能行
能不能匹配成功
一次或多次可以的连续的abc
可以这样子匹配可
所以这就是大原子对吧
那如果是问号呢
如果是问号就是
如果是问号是什么
0次或一次
我这个里面是几次啊
是不是0次啊
也能够匹配成功
对吧
也能够匹配成功
但是呢
如果我这儿abc
这再来一个abc
你们看能够匹配成功吗
也匹配成功了怎么回事呢
问号里面0次或一次
它是不是咱们的这个匹配
是不是从上面直接一读
这是不是就匹配了
是不是这就匹配了
这匹配一次
我们还就基本上不往下走了
你看函数手册里面对吧
函数手册里面
返回的要么是0次没有匹配
要么是而且它是什么
在第一次匹配之后
是不是就停止搜索啦
所以它一匹配到abc之后
它还管后面
它就不管了
它就认为已经成功对吧
它就认为已经成功了
所以这个的使用需要咱们注意一下对吧
作为大原子的一个使用对吧
总而言之
咱们经常的使用的后面跟的是加号
对吧
后面跟的是加号
就是1次或多次这种使用
这是第一个
然后我们再来说第二个
第二个是什么呢
是改变优先级的
改变优先级
刚才咱们是不是举个猫和狗的例子
cat
然后出现dog
那么在这个里面
我们是可以去匹配一个猫或者一个狗的对不对
因为它优先级太低了
它的优先级太低了
那么如果说我们有一个特殊的例子
我们这个特殊的例子
我们只是匹配它旁边的这两个原子呢
那么你可以用括号括起来
把它括起来之后你再来跑
你看看这个匹配就失败了
为什么失败呢
因为ca你要匹配
后面的这个og是不是你也得匹配啊
og显然没有匹配
那我如果这个地方加上og
可以成功吗
这样绝对就成功了
那么把这个t和d换一下可以成功吗
是不是也可以对吧
这样你也可以成功啊
所以这就是改变优先级
但是如果你单独一个dog可以成功吗
不可以因为ca没匹配上对不对
没匹配上
所以这个就和刚刚那个略微有一点点差别了
在特殊的情况下
我们可以使用
那么改变优先级的
-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