千家信息网

PHP的正则表达式基础有哪些

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,本篇内容介绍了"PHP的正则表达式基础有哪些"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!正则表达式
千家信息网最后更新 2026年11月01日PHP的正则表达式基础有哪些

本篇内容介绍了"PHP的正则表达式基础有哪些"的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!

正则表达式准确来讲是对字符串进行操作的一种逻辑公式,也就是用一开始定义好的一些特定的字符还有这些特定字符的组合,组成了一个"规则字符串",这个"规则字符串"其实就是用来过滤字符串的。可以理解为我们在登陆用户的时候有时会要填写验证码或者电话之类的这些特定的数据,这时候就要用到正则表达式。

正则表达式虽然看起来复杂,其实并不难,那接下来我们一起来看一看吧。

正则表达式的定界符

首先我们要学习的就是正则表达式的定界符,顾名思义,定界符就是确定正则表达式边界的符号,定一个边界,边界以内就是正则表达式。同时正则表达式的定界符有规定:

  • 定界符,不能使用a-zA-Z0-9\ 除此以外都可以使用。并且必须成对出现,有开始就有结束。

示例如下:

$正则表达式$%正则表达式%/正则表达式/

其中我们需要注意的是/是转义字符,当我们正则中需要匹配/的时候,可以使用\转义一下。如果觉得麻烦的话,可以直接使用其他的定界符比如:

$/$

正则表达式的原子

正则表达式的原子是正则表达式里的最小单位,也就是我们需要匹配的内容,在我们成立的整形额表达式中,最少也要有一个原子。

其实可以理解为,所有可见的不可见的字符都是原子,比如空格、回车、换行、0-9、标点符号、A-Za-z、中文这些都是原子。

preg_match() 函数

在详细的讲原子之前,我们要先了解一下一个函数,那就是preg_match

PHP 中的 preg_match() 函数可以根据定义的正则表达式对字符串进行搜索以及匹配。

语法格式如下:

preg_match ( string $正则 , string $字符串 [, array &$结果] )

根据$正则也就是我们定义的正则表达式,在匹配$字符串,如果存在则返回匹配个数,然后把匹配的结果放在$结果里。如果没有匹配到结果那就返回0。

我们通过示例来看一下:

输出结果:

由上述示例可以看出,我们定义了变量a,希望能够匹配的是a,正好在$b中存在a,通过if else语句输出成功了。

再来一个示例:

输出结果:

上述示例中,希望匹配到字符串,但是$b中不存在,所以没有匹配成功,通过if else语句输出为匹配成功。

知道了preg_match() 函数的基本用法之后我们可以和特殊标识的原子结合起来使用。

特殊标识的原子

  • \d---匹配一个0-9

  • \D---除了0-9以外的所有字符

  • \w---a-zA-Z0-9_

  • \W---除了0-9A-Za-z_以外的所有字符

  • \s---匹配所有空白字符\n \t \r 空格

  • \S---匹配所有非空白字符

  • [ ]---指定范围的原子

它们的具体用法给大家举个例子就明白了:

输出结果:

在上述示例中,特殊标识的原子\d表示的就是0-9的数字,那么在需要匹配的$b中存在一个4,所以匹配成功。

输出结果:

在上述实例中,特殊标识的原子\w表示的是a-zA-Z0-9_ ,在变量b中没有相应的元素,所以输出结果为未匹配到。

其中还有一个[^]字符表示不匹配指定区间的字符。

示例如下:

输出结果:

通过[^]字符匹配除0-9A-Za-z_以外的字符,未匹配到。

总结一下:

  • \w---[a-zA-Z0-9_]

  • \W---[^a-zA-Z0-9_]

  • \d---[0-9]

  • \D---[^0-9]

  • \s---[ \t\n\f\r]

  • \S---[^ \t\n\f\r]

正则表达式的元字符

在上面的示例中,我们能够看出通过匹配的话,只能匹配一个字符,但是在我们的日常使用中,通常会匹配多个字符,那这时候只通过我们的原子就不能达到我们的目的。就需要通过元字符来帮我们修饰原子,实现更多的功能。

  • *---代表匹配前面的一个原子,匹配0次或者任意多次前面的字符。

  • +---匹配一次或多次前面的一个字符

  • ?---前面的字符可有可无【可选】 有或没有

  • .---更标准一些应该把点算作原子。匹配除了\n以外的所有字符 或者。注:它的优先级最低了。

  • ^---必须要以抑扬符之后的字符串开始

  • $--- 必须要以$之前的字符结尾

  • \b---词边界

  • \B---非边界

  • {m}---有且只能出现m次

  • {n,m}---可以出现n到m次

  • {m,}---至少m次,最大次数不限制

  • ()---改变优先级或者将某个字符串视为一个整体,匹配到的数据取出来也可以使用它

接下来我们通过一些例子来实例看一下这些元字符的使用:

输出结果:

通过元字符+的添加,匹配到了多次字符,\d+中d是匹配数字,+则表示最少匹配一次前面的字符。

正则表达式的模式修正符

通过原子和元字符的了解,我们已经完成了正则表达式的入门,但是这仍然不能代表正则表达式的真正实力,如果我们只希望正则表达式匹配一部分应该怎么办?有些特殊情况依然需要处理,这时候我们就要用到正则表达式的模式修正符。

下面列举一些常用的模式修正符:

  • i 模式中的字符将同时匹配大小写字母.

  • m 字符串视为多行

  • s 将字符串视为单行,换行符作为普通字符.

  • x 将模式中的空白忽略.

  • A 强制仅从目标字符串的开头开始匹配.

  • D 模式中的美元元字符仅匹配目标字符串的结尾.

  • U 匹配最近的字符串.

它的用法如下:

/正则表达式/模式修正符

接下来我们通过一些实例来看一下它的使用:

输出结果:

i可以让匹配的时候同时匹配大小写,那么接下来把匹配的$b换成$c试一下,我们看一下输出结果:

输出结果:

"PHP的正则表达式基础有哪些"的内容就介绍到这里了,感谢大家的阅读。如果想了解更多行业相关的知识可以关注网站,小编将为大家输出更多高质量的实用文章!

字符 正则 表达式 原子 字符串 结果 输出 示例 模式 元字符 定界符 就是 特殊 接下来 边界 成功 函数 标识 也就是 内容 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 互联网科技工作委员会副主任毛军 互联网金融监管科技数据 与互联网科技公司 金融科技与互联网金融 深圳互联网络科技有限公司 互联网科技英文 深圳天众互联网科技公司 互联网科技公司介绍 美国互联网前沿科技 云创客互联网科技公司 互联网科技产品 中国的互联网科技企业的崛起 顶级互联网科技成果有哪些 厦门比较好的科技互联网公司 河南猎农互联网科技有限公司 工业互联网等科技实现智能化赋能 山东星卡互联网科技有限公司官网 美国互联网科技公司 互联网科技的前景 承德科技产业互联网平台 互联网络科技 互联网金融与金融科技 天津摩尔互联网科技 互联网高科技股票 一五八零互联网科技 阿里巴巴算科技企业还是互联网 洛阳共同富裕互联网科技有限公司 互联网科技大赛获奖感言 伍佰万互联网科技怎么赚钱 长沙渺峰互联网科技有限公司
0