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

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

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

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

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

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”表示目标含有php或者css或者html。

7、转义字符

\(反斜杠):用于转义特殊字符,使其失去特殊含义。

8、分组

8.1、 小括号字符的作用就是分组,也就是子表达式。如:(\.[0-9]{1,3}){3},就是对分组(\.[0-9]{1,3})进行重复操作。

8.2、小括号还可以改变限定符的作用范围。如:c(om|n)就是com或cn。

 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/97122.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java-JVM 类加载机制

JVM 类加载机制 JVM 类加载机制分为五个部分:加载,验证,准备,解析,初始化,下面我们就分别来看一下这五个过程。 1.1. 加载 加载是类加载过程中的一个阶段,这个阶段会在内存中生成一个代表这…

windows vscode使用opencv

1.windows vscode使用opencv 参考:https://blog.csdn.net/zhaiax672/article/details/88971248 https://zhuanlan.zhihu.com/p/402378383 https://blog.csdn.net/weixin_39488566/article/details/121297536 g -g .\hello_opencv.cpp -stdc14 -I E:\C-software\…

前端 -- 基础 网页、HTML、 WEB标准 扫盲详解

什么是网页 : 网页是构成网站的基本元素,它通常由 图片、链接、文字、声音、视频等元素组成。 通常我们看到的网页 ,常见以 .html 或 .htm 后缀结尾的文件, 因此俗称 HTML 文件 什么是 HTML : HTML 指的是 超文本标记语言&#xff0c…

java面试基础 -- 普通类 抽象类 接口

目录 抽象类语法 抽象类特性 普通类 & 抽象类 抽象类 & 接口 什么是接口 语法 接口方法 变量 接口特性 抽象类&接口的区别 抽象类语法 在Java中,一个类如果被 abstract 修饰称为抽象类,抽象类中被 abstract 修饰的方法称为抽象…

Android 场景Scene的使用

Scene 翻译过来是场景,开发者提供起始布局和结束布局,就可以实现布局之间的过渡动画。 具体可参考 使用过渡为布局变化添加动画效果 大白话,在 Activity 的各个页面之间切换,会带有过渡动画。 打个比方,使用起来类似…

vscode如何汉化

首先我们到vscode官网下载 链接如下: Visual Studio Code - Code Editing. Redefined 根据自己需要的版本下载就好 下载并且安装完毕之后 运行vscode 然后按快捷键 CTRLSHIFTX 打开安装扩展界面 搜索简体中文 安装就可以了 谢谢大家观看

Hadoop小结(上)

最近在学大模型的分布式训练和存储,自己的分布式相关基础比较薄弱,基于深度学习的一切架构皆来源于传统,我总结了之前大数据的分布式解决方案即Hadoop: Why Hadoop Hadoop 的作用非常简单,就是在多计算机集群环境中营…

【C++11新特性】lambda表达式

文章目录 1. lambda表达式概念2. lambda表达式语法3. lambda表达式应用 1. lambda表达式概念 lambda表达式是一个匿名函数,恰当使用lambda表达式可以让代码变得简洁,并且可以提高代码的可读性。 见见lambda表达式的使用 现在要对若干商品分别按照价格和…

十六、Spring Cloud Sleuth 分布式请求链路追踪

目录 一、概述1、为什么出出现这个技术?需要解决哪些问题2、是什么?3、解决 二、搭建链路监控步骤1、下载运行zipkin2、服务提供者3、服务调用者4、测试 一、概述 1、为什么出出现这个技术?需要解决哪些问题 2、是什么? 官网&am…

Linux0.11内核源码解析-truncate.c

truncate文件只要实现释放指定i节点在设备上占用的所有逻辑块,包括直接块、一次间接块、二次间接块。从而将文件节点对应的文件长度截为0,并释放占用的设备空间。 索引节点的逻辑块连接方式 释放一次间接块 static void free_ind(int dev,int block) {…

Windows10上VS2022单步调试FFmpeg 4.2源码

之前在 https://blog.csdn.net/fengbingchun/article/details/103735560 介绍过通过VS2017单步调试FFmpeg源码的方法,这里在Windows10上通过VS2022单步调试FFmpeg 4.2的方法:基于GitHub上ShiftMediaProject/FFmpeg项目,下面对编译过程进行说明…

【mysql】—— 表的增删改查

目录 序言 (一)Create操作 1、单行数据 全列插入 2、多行数据 指定列插入 3、插入否则更新 4、直接替换 (二)Retrieve操作 1、SELECT 列 1️⃣全列查询 2️⃣指定列查询 3️⃣查询字段为表达式 4️⃣为查询结果指定…

snpEff变异注释的一点感想

snpEff变异注释整成人生思考 1.介绍2.安装过程以及构建物种参考数据库3.坑货来了4.结果文件判读5.小tips 1.介绍 &nbsp SnpEff(Snp Effect)是一个用于预测基因组变异(例如单核苷酸变异、插入、缺失等)对基因功能的影响的生物…

aardio简单网站css或js下载练习

import win.ui; /*DSG{{*/ var winform win.form(text"下载网站css或js";right664;bottom290;maxfalse) winform.add( buttonClose{cls"button";text"退出";left348;top204;right498;bottom262;color14120960;fontLOGFONT(h-14);note" &qu…

如何使用Redis实现附近商家查询

导读 在日常生活中,我们经常能看见查询附近商家的功能。 常见的场景有,比如你在点外卖的时候,就可能需要按照距离查询附近几百米或者几公里的商家。 本文将介绍如何使用Redis实现按照距离查询附近商户的功能,并以SpringBoot项目…

时序预测 | MATLAB实现WOA-CNN-LSTM鲸鱼算法优化卷积长短期记忆神经网络时间序列预测

时序预测 | MATLAB实现WOA-CNN-LSTM鲸鱼算法优化卷积长短期记忆神经网络时间序列预测 目录 时序预测 | MATLAB实现WOA-CNN-LSTM鲸鱼算法优化卷积长短期记忆神经网络时间序列预测预测效果基本介绍模型描述程序设计学习总结参考资料 预测效果 基本介绍 时序预测 | MATLAB实现WOA-…

IDEA开发项目时一直出现http404错误的解决方法

系列文章目录 安装cv2库时出现错误的一般解决方法_cv2库安装失败 SQL> conn sys/root as sysdbaERROR:ORA-12560: TNS: 协议适配器错误的解决方案 虚拟机启动时出现“已启用侧通道缓解”的解决方法 Hypervisor launch failed; Processor does not pr…

git压缩/合并多次commit提交为1次commit提交

git压缩/合并N次commit提交为1次commit提交 假设有最近3次提交: commit_id1 commit_id2 commit_id3目标是把以上3次commit合并成1个commit,注意,最新的commit提交在最上面。 在git bash里面的操作步骤: (1&#xff0…

Hyperledger Fabric的使用及开发

Hyperledger Fabric是Linux基金会发起的一种跨行业的区块链技术,目前在多家大型公司有着应用,这里就不多做HF本身的介绍了,有兴趣可关注其官网。 1. 准备工作: 开始前需要一定的准备工作,安装各类中间件:…

Python学习笔记_基础篇(五)_数据类型之字典

一.基本数据类型 整数:int 字符串:str(注:\t等于一个tab键) 布尔值: bool 列表:list 列表用[] 元祖:tuple 元祖用() 字典:dict 注:所有的数据类型都存在想对…