正则表达式

正则表达式
什么是正则表达式
是一组描述字符串特征的模式,用于匹配一组字符串。这一组模式本身也是字符串。这种模式有一些规则和语法
正则表达式的用处
解决字符串的搜索、替换、分隔的问题
正则表达式的学习内容
正则表达式---》 写模式
正则表达式的处理函数
写正则表达式,用正则表达式的处理函数来进行处理
php里面正则表达式的规则
POSIX:在php4中经常使用。但由于功能、效率、书写规则都不太好,我们不使用。它是以ereg开头的
pcre:per语言的正则表达式,以preg开头。
正则表达式的书写
正则表示的组成
定界符
用来告诉php正则表达式从哪里开始,到哪里结束,一般来说定界符为//,成对出现,除了数字、字母、下划线不可以作为定界符外,其他符号都可以
原子
最小的匹配单位,要找的字符(要放在定界符中)。每一个正则表达式中最少有一个原子,因为最少要匹配一次
1、普通字符  a-z  A-Z 0-9
2、非打印字符
\r 回车
\n 换行
\t 制表符
3、自定义原子表作为原子
[abc]表示原子表里面的字符匹配任意一个都可以 也可以写成[a-c]
4、通用字符作为原子
\d   任意一个数字
\D 所有非数字
\w 字母 数字
\W非字母且非数字
\s 匹配任意的空白字符
\S匹配任意非空白字符
5、转义后的元字符也可以作为原子
除了z-a\A-Z\0-9这个原子外其他的原子在进行匹配的时候都加上转义字符。让它失去原来的意义。
元字符
修饰原子功能和限定功能
[ ]原子表实际上严格来说是属于元字符里面的东西

在原子表中的第一个位置代表排除
在正则表达式的前面表示必须以什么开始,必须写在正则表达式的最前面
$  在正则表达式后面代表必须以什么结束
*  表示前面的原子可以出现0次1次或多次。必须放在原子或原子表的后面
+  表示前面的原子可以出现1次或多次
?  表示前面的原子可以出现0次或1次
  {n} ,表示前面的原子只能出现n次
{n,}  表示前面的原子至少出现n次
{n,m}  表示前面的原子最少出现n次 最多出现m次
| 代表或的关系,代表两边的原子只要有一个出现就可以。优先级是最低的。
. 代表任意字符(原子)
.*代表匹配除换行符以外的任意字符
()的作用
1、提高优先级
2、将小原子,变成大原子
3、子模式,整个正则是一个大模式,小括号是大模式的子模式
模式修正符
对正则进行解释修正用的单个符号,  模式修正符号要写在定界符的外面,写在右边(一个符号一个功能,可以组合起来使用)
i:让正则表达式不区分大小写,默认是区分大小写的
m:将匹配的字符串中的每个断行都当做新的一行,默认情况下将有换行符的都当做一行
s:修正正则表达式中的.      ,   .能匹配任意一个原子(除了换行符)
x:修正正则表达式可以省略空白
U:在使用(.*)时正则表达式是贪婪的,会匹配最后一个符合要求的内容,U可以让他匹配第一个符合要求的内容就结束这个匹配。但是不建议使用U,因为PHP里面有U模式修正符但是其他的语言没有    我们可以使用(.*?)来取消贪婪,这个是一个固定的组合
正则表达式处理函数
匹配
preg_match_all(正则表达式,匹配的字符串,要放入的数组);
preg_match(正则表达式,匹配的字符串)
匹配到为1
匹配不到为0
替换
preg_replace(正则表达式,要替换的内容,匹配的字符串)
分隔
preg_split(正则表达式,匹配分隔的字符串)
作业 1遍 张伟2遍  张伟其他作业4遍
验证表单
用户名
6-8位 第一位必须为大写字母
密码
最少6位不能为纯数字
电话
自定义了(135,136,138,150,188)
邮箱
只是用qq邮箱  数字@qq.com  数字必须为qq号      QQ号的验证    5-11
什么是正则表达式
是一组描述字符串特征的模式,用于匹配一组字符串。这一组模式本身也是字符串。这种模式有一些规则和语法
正则表达式的用处
解决字符串的搜索、替换、分隔的问题
正则表达式的学习内容
正则表达式---》 写模式
正则表达式的处理函数
写正则表达式,用正则表达式的处理函数来进行处理
php里面正则表达式的规则
POSIX:在php4中经常使用。但由于功能、效率、书写规则都不太好,我们不使用。它是以ereg开头的
pcre:per语言的正则表达式,以preg开头。
正则表达式的书写
正则表示的组成
定界符
用来告诉php正则表达式从哪里开始,到哪里结束,一般来说定界符为//,成对出现,除了数字、字母、下划线不可以作为定界符外,其他符号都可以
原子
最小的匹配单位,要找的字符(要放在定界符中)。每一个正则表达式中最少有一个原子,因为最少要匹配一次
1、普通字符  a-z  A-Z 0-9
2、非打印字符
\r 回车
\n 换行
\t 制表符
3、自定义原子表作为原子
[abc]表示原子表里面的字符匹配任意一个都可以 也可以写成[a-c]
4、通用字符作为原子
\d   任意一个数字
\D 所有非数字
\w 字母 数字
\W非字母且非数字
\s 匹配任意的空白字符
\S匹配任意非空白字符
5、转义后的元字符也可以作为原子
除了z-a\A-Z\0-9这个原子外其他的原子在进行匹配的时候都加上转义字符。让它失去原来的意义。
元字符
修饰原子功能和限定功能
[ ]原子表实际上严格来说是属于元字符里面的东西

在原子表中的第一个位置代表排除
在正则表达式的前面表示必须以什么开始,必须写在正则表达式的最前面
$  在正则表达式后面代表必须以什么结束
*  表示前面的原子可以出现0次1次或多次。必须放在原子或原子表的后面
+  表示前面的原子可以出现1次或多次
?  表示前面的原子可以出现0次或1次
  {n} ,表示前面的原子只能出现n次
{n,}  表示前面的原子至少出现n次
{n,m}  表示前面的原子最少出现n次 最多出现m次
| 代表或的关系,代表两边的原子只要有一个出现就可以。优先级是最低的。
. 代表任意字符(原子)
.*代表匹配除换行符以外的任意字符
()的作用
1、提高优先级
2、将小原子,变成大原子
3、子模式,整个正则是一个大模式,小括号是大模式的子模式
模式修正符
对正则进行解释修正用的单个符号,  模式修正符号要写在定界符的外面,写在右边(一个符号一个功能,可以组合起来使用)
i:让正则表达式不区分大小写,默认是区分大小写的
m:将匹配的字符串中的每个断行都当做新的一行,默认情况下将有换行符的都当做一行
s:修正正则表达式中的.      ,   .能匹配任意一个原子(除了换行符)
x:修正正则表达式可以省略空白
U:在使用(.*)时正则表达式是贪婪的,会匹配最后一个符合要求的内容,U可以让他匹配第一个符合要求的内容就结束这个匹配。但是不建议使用U,因为PHP里面有U模式修正符但是其他的语言没有    我们可以使用(.*?)来取消贪婪,这个是一个固定的组合
正则表达式处理函数
匹配
preg_match_all(正则表达式,匹配的字符串,要放入的数组);
preg_match(正则表达式,匹配的字符串)
匹配到为1
匹配不到为0
替换
preg_replace(正则表达式,要替换的内容,匹配的字符串)
分隔
preg_split(正则表达式,匹配分隔的字符串)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值