正则表达式

普通字符

? -----代表前面字符出现一次或零次

在这里插入图片描述

*-----匹配出现0次及以上的字符

在这里插入图片描述

+-------匹配出现一次及以上的字符

在这里插入图片描述

{}------

{n} 表示其前面字符恰好出现n次
{n,} 表示其前面字符出现n次及以上
{n,m} 表示其前面的字符至少出现n次,最多出现m次

在这里插入图片描述

()-----将包裹起来的东西给看成一个整体

在这里插入图片描述

|----------或运算符

在这里插入图片描述

字符类

[]------代表要求匹配的字符只能取自他们(匹配方括号中的任意一个字符)

在这里插入图片描述

同时还能代表一些特殊的东东

eg.[a-z]代表所有小写字母,[A-Z]代表所有大写字母,[0-9]代表所有数字,[a-zA-Z]代表所有字母

^------就是除了的意思

eg.中括号^0-9中括号 代表所有的非数字字符(包跨换行符)

元字符(大多数都是以\开头)

\d-------数字字符,等于[0-9]

\D-------非数字字符

\w-------单词字符,就是所有的英文字母,数字加上下划线

\W-------非单词字符

在这里插入图片描述

\s--------空白符(Tab和换行符)

\S-------非空白字符

.-------代表任意字符,但不含换行符

^或\A------匹配行首

$或\Z------匹配行尾

如^a只会匹配行首的a

在这里插入图片描述

a$只会匹配行尾的a

高级概念

贪婪匹配

eg.会匹配从第一个t开始,直到最后一个t出现才结束的中间的内容。

在这里插入图片描述

懒惰匹配

在.*后面加上一个?即可

在这里插入图片描述

模式修正符

i-------匹配时不区分大小写
m--------多行匹配,如果目标字符串 中没有换行符, 或者模式中没有出现^或$, 设置这个修饰符不产生任何影响
s---------将匹配所有的字符包括换行符
U---------禁止贪婪匹配

tips

windows中回车键进行换行其实是两个字符完成的,即是\r\n两个字符完成

eg.

在这里插入图片描述

如果不加上\r*,则只会输出最后一个test

与正则表达式相关的函数

preg_match(参数一,参数二,参数三,参数4(一般不用填),参数5(一般不用填)):它在第一次匹配之后将会停止匹配

第一个参数:正则表达式
第二个参数:目标字符串
第三个参数(可选):放一个变量,存放匹配到的数据
第四个参数(可选):可以传PREG_OFFSET_CAPTURE,默认传的是0
第五个参数(可选):可以传一个值,来表示从目标字符串的哪个位置开始搜索(单位是字节)。

preg_match_all(参数):会一直匹配,直到结束,参数类型同上。

在这里插入图片描述

preg_replace(参数1,参数2,参数3,参数4)

第一个参数:正则表达式
第二个参数:要替换的字符串
第三个参数:目标字符串

参数4:替换的次数

$n

还可以传数组

替换要敲一下

posted @ 2022-07-06 13:54  phant0m1  阅读(39)  评论(0编辑  收藏  举报