PHP8的正则表达式-PHP8知识详解

在网页程序的时候,经常会有查找符合某些复杂规则的字符串的需求。正则表达式就是描述这些规则的工具。

正则表达式是把文本或者字符串按照一定的规范或模型表示的方法,经常用于文本的匹配操作。

例如:我们在填写手机号码的时候,可以使用正则表达式来验证是否符合规则,若匹配就被进行正常处理,若不匹配,则给出错误提示信息。所以说正则表达式在互联网应用中有很重要的作用。

一般情况下,正则表达式由两部分组成,分别是元字符和文本字符。元字符就是具有特殊含义的字符,如"?"和"*"等。文本字符就是普通的文本,如字母数字等。

1、行定位符

行定位符用来确定匹配字符串所要出现的位置。

如果是目标字符串开头出现,则使用符号"^";如果是在目标字符串结尾出现,则使用符号"$"。

示范:

复制代码
^我

就是表达以我开头的字符串,就能匹配。如:"我为大家"。而"大家为我"则不匹配。

示范:

复制代码
我$

就是表达以我结尾的字符串,就能匹配。如:"大家为我"。而"我为大家"则不匹配。

如果要想匹配字符串出现的任何位置,直接写成

复制代码

如果同时使用"^"和"",比如"\^\[0-9\]"表示目标字符串从0-9的单个字符。比如"^[a-z]$"表示目标字符串从a-z的单个字符。

2、元字符

php元字符是一组特殊字符,用于在正则表达式中表示模式的不同部分。以下是PHP中常用的一些元字符:

2.1、.(点号):匹配除换行符以外的任意字符。

2.2、^(脱字符):匹配字符串的开头。

2.3、$(美元符号):匹配字符串的结尾。

2.4、\w:匹配字母、数字、下划线或汉字。

2.5、\s:匹配任意空白字符。

2.6、\d:匹配数字。

2.7、\b:匹配单词的开头或结尾。

3、限定符

3.1、*(星号):匹配前面的元素零次或多次。

3.2、?(问号):匹配前面的元素零次或一次。

3.3、+(加号):匹配前面的元素一次或多次。

3.4、{n},{n,},{n,m}:匹配字符n次,最少n次,最少n次最多m次、

3.5、.*:点号和星号一起使用,表示任意字符串。

4、方括号"[]"

4.1、[](方括号):定义一个字符类,匹配方括号中的任意一个字符。

4.2、[^](否定方括号):定义一个否定字符类,匹配除方括号中字符以外的任意字符。

5、连字符"-"

很多情况下不易列出所有字符,所以使用连字符。如:

a-z\]:匹配小写字母a到z的任意字符。 \[A-Z\]:匹配大写字母A到Z的任意字符。 \[a-zA-Z\]:匹配小写字母a到大写字母Z的任意字符。 \[0-9\]:匹配数字0-9的任意字符。 ## 6、选择字符"\|" \|(竖线):用于指定多个模式中的一个。 如:"php\|css\|[html](https://www.phpfw.com/tag/html/ "html")"表示目标含有php或者css或者html。 ## 7、[转义字符](https://www.phpfw.com/tag/zhuanyizifu/ "转义字符") \\(反斜杠):用于转义特殊字符,使其失去特殊含义。 ## 8、分组 8.1、 小括号字符的作用就是分组,也就是子表达式。如:(\\.\[0-9\]{1,3}){3},就是对分组(\\.\[0-9\]{1,3})进行重复操作。 8.2、小括号还可以改变限定符的作用范围。如:c(om\|n)就是com或cn。

相关推荐
魔道不误砍柴功10 小时前
Mac 能够连Wife,但是不能上网问题解决
网络·macos·php
搬码临时工17 小时前
怎样让外网计算机访问局域网计算机?通过公网地址访问不同内网服务的设置方法
开发语言·php
Fortinet_CHINA1 天前
案例精述 | 防护即智能 Fortinet赋能英科全栈安全重构实践
安全·重构·php
BingoGo1 天前
PHP Swoole/WebMan/Laravel Octane 等长驻进程框架内存泄露诊断与解决方案
后端·php
站长朋友2 天前
香港主机支持PHP版本吗
开发语言·php·香港主机php版本·php 8.4支持·wordpress主机配置·香港主机性能对比·php版本兼容性测试
腾科张老师2 天前
Telnet 原理与配置
网络·智能路由器·php
lskblog2 天前
使用 PHP Imagick 扩展实现高质量 PDF 转图片功能
android·开发语言·前端·pdf·word·php·laravel
行走的码农霖悦2 天前
PHP如何解决使用国密SM4解密Base64数据错误问题?(基于lpilp/guomi)
开发语言·php
菜鸟康3 天前
手写Muduo网络库核心代码2--Poller、EPollPoller详细讲解
开发语言·网络·php
2202_756749693 天前
YOLO 目标检测:YOLOv5网络结构、Focus、CSP、自适应Anchor、激活函数SiLU、SPPF、C3
人工智能·yolo·目标检测·php