0

0

让人心动的PHP的正则表达式基础(图例详解)

WBOY

WBOY

发布时间:2021-10-18 14:26:18

|

2716人浏览过

|

来源于php中文网

原创

在之前的文章中给大家带来了《学会使用php的list、each函数及配合》,主要讲解了应该如何使用list函数和each函数以及两者之间应该怎样配合使用,相信大家已经掌握的差不多了,那么本篇文章我们一起来看一看php中的正则表达式。希望对大家有帮助!

让人心动的PHP的正则表达式基础(图例详解)

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

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

正则表达式的定界符

立即学习PHP免费学习笔记(深入)”;

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

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

示例如下:

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

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

$/$

正则表达式的原子

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

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

preg_match() 函数

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

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

语法格式如下:

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

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

我们通过示例来看一下:

输出结果:

1018.09.png

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

再来一个示例:

输出结果:

1018.11.png

上述示例中,希望匹配到字符串,但是$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---匹配所有非空白字符    

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

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

输出结果:

1018.12.png

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

输出结果:

1018.13.png

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

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

示例如下:

输出结果:

1018.14.png

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

Play.ht
Play.ht

根据文本生成多种逼真的语音

下载

总结一下:

  • \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次,最大次数不限制    

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

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

输出结果:

1018.15.png

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

正则表达式的模式修正符

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

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

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

  • m    字符串视为多行    

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

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

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

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

  • U    匹配最近的字符串.    

它的用法如下:

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

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

输出结果:

1018.16.png

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

输出结果:

1018.17.png

推荐学习:《PHP视频教程

相关专题

更多
php文件怎么打开
php文件怎么打开

打开php文件步骤:1、选择文本编辑器;2、在选择的文本编辑器中,创建一个新的文件,并将其保存为.php文件;3、在创建的PHP文件中,编写PHP代码;4、要在本地计算机上运行PHP文件,需要设置一个服务器环境;5、安装服务器环境后,需要将PHP文件放入服务器目录中;6、一旦将PHP文件放入服务器目录中,就可以通过浏览器来运行它。

1675

2023.09.01

php怎么取出数组的前几个元素
php怎么取出数组的前几个元素

取出php数组的前几个元素的方法有使用array_slice()函数、使用array_splice()函数、使用循环遍历、使用array_slice()函数和array_values()函数等。本专题为大家提供php数组相关的文章、下载、课程内容,供大家免费下载体验。

1113

2023.10.11

php反序列化失败怎么办
php反序列化失败怎么办

php反序列化失败的解决办法检查序列化数据。检查类定义、检查错误日志、更新PHP版本和应用安全措施等。本专题为大家提供php反序列化相关的文章、下载、课程内容,供大家免费下载体验。

1016

2023.10.11

php怎么连接mssql数据库
php怎么连接mssql数据库

连接方法:1、通过mssql_系列函数;2、通过sqlsrv_系列函数;3、通过odbc方式连接;4、通过PDO方式;5、通过COM方式连接。想了解php怎么连接mssql数据库的详细内容,可以访问下面的文章。

948

2023.10.23

php连接mssql数据库的方法
php连接mssql数据库的方法

php连接mssql数据库的方法有使用PHP的MSSQL扩展、使用PDO等。想了解更多php连接mssql数据库相关内容,可以阅读本专题下面的文章。

1396

2023.10.23

html怎么上传
html怎么上传

html通过使用HTML表单、JavaScript和PHP上传。更多关于html的问题详细请看本专题下面的文章。php中文网欢迎大家前来学习。

1227

2023.11.03

PHP出现乱码怎么解决
PHP出现乱码怎么解决

PHP出现乱码可以通过修改PHP文件头部的字符编码设置、检查PHP文件的编码格式、检查数据库连接设置和检查HTML页面的字符编码设置来解决。更多关于php乱码的问题详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1438

2023.11.09

php文件怎么在手机上打开
php文件怎么在手机上打开

php文件在手机上打开需要在手机上搭建一个能够运行php的服务器环境,并将php文件上传到服务器上。再在手机上的浏览器中输入服务器的IP地址或域名,加上php文件的路径,即可打开php文件并查看其内容。更多关于php相关问题,详情请看本专题下面的文章。php中文网欢迎大家前来学习。

1302

2023.11.13

笔记本电脑卡反应很慢处理方法汇总
笔记本电脑卡反应很慢处理方法汇总

本专题整合了笔记本电脑卡反应慢解决方法,阅读专题下面的文章了解更多详细内容。

1

2025.12.25

热门下载

更多
网站特效
/
网站源码
/
网站素材
/
前端模板

精品课程

更多
相关推荐
/
热门推荐
/
最新课程
PHP课程
PHP课程

共137课时 | 7.8万人学习

JavaScript ES5基础线上课程教学
JavaScript ES5基础线上课程教学

共6课时 | 6.9万人学习

PHP新手语法线上课程教学
PHP新手语法线上课程教学

共13课时 | 0.8万人学习

关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号