首页 > 编程语言 >PHP正则表达式

PHP正则表达式

时间:2024-06-13 22:56:45浏览次数:13  
标签:匹配 正则表达式 preg 查找 字符串 PHP

PHP 正则表达式函数

PHP正则表达式介绍

正则表达式允许您搜索和替换字符串中的模式。


安装

PHP 正则表达式函数是 PHP 核心的一部分。 无需安装即可使用这些功能。


运行时配置

php.ini 中的这些设置可用于限制计算正则表达式时使用的时间或资源量。

名称 默认值 描述 Changeable
pcre.backtrack_limit "1000000" 正则表达式引擎在计算表达式时允许执行的最大回溯数。 (自 PHP 5.2 起可用) PHP_INI_ALL
pcre.recursion_limit "100000" 正则表达式引擎在计算表达式时允许达到的最大递归深度。 (自 PHP 5.2 起可用) PHP_INI_ALL
pcre.jit "1" 当设置为"1"时,这将启用 PCRE(Perl 兼容的正则表达式)即时编译。 (自 PHP 7.0 起可用) PHP_INI_ALL

PHP 正则表达式函数

函数 描述
preg_filter() 返回替换模式匹配的字符串或数组,但前提是找到匹配项
preg_grep() 返回一个仅由输入数组中与模式匹配的元素组成的数组
preg_last_error() 返回一个错误代码,指出最近一次正则表达式调用失败的原因
preg_match() 在字符串中查找模式的第一个匹配项
preg_match_all() 查找字符串中某个模式的所有匹配项
preg_replace() 返回一个字符串,其中模式(或模式数组)的匹配被替换为给定字符串中的子字符串(或子字符串数组)
preg_replace_callback() 给定一个表达式和一个回调,返回一个字符串,其中所有匹配的表达式都替换为回调返回的子字符串
preg_replace_callback_array() 给定一个将表达式与回调关联的数组,返回一个字符串,其中每个表达式的所有匹配项都替换为回调返回的子字符串
preg_split() 使用正则表达式的匹配作为分隔符将字符串分解为数组
preg_quote() 通过在正则表达式中添加反斜杠来转义具有特殊含义的字符

正则表达式修饰符

修饰符可以改变搜索的执行方式。

修饰符 描述
i 执行不区分大小写的搜索
m 执行多行搜索(搜索字符串开头或结尾的模式将匹配每行的开头或结尾)
u 启用 UTF-8 编码模式的正确匹配

正则表达式模式

括号用于查找字符范围:

表达式 描述
[abc] 从括号内的选项中找出一个字符
[^abc] 查找不在括号内的任何字符
[0-9] 从 0 到 9 中查找一个字符

元字符

元字符是具有特殊含义的字符:

元字符 描述
| 为任何一个由 | 分隔的模式查找匹配项 如:猫|狗|鱼
. 只查找任意字符的一个实例
^ 找到一个匹配作为字符串的开头,如:^Hello
$ 在字符串末尾找到匹配项,如:World$
\d 找一个数字
\s 查找空白字符
\b 在这样的单词开头查找匹配:\bWORD,或在这样的单词结尾:WORD\b
\uxxxx 查找十六进制数xxxx指定的Unicode字符

量词

量词定义数量:

的字符串 的字符串 的字符串 序列的字符串

量词 描述
n+ 匹配任何包含至少一个 n
n* 匹配任何包含零次或多次 n
n? 匹配任何包含 0 个或 1 个 n
n 匹配任何包含 X n's
n 匹配任何包含 X 到 Y n 的序列的字符串
n 匹配任何包含至少 X 个 n 的序列的字符串

标签:匹配,正则表达式,preg,查找,字符串,PHP
From: https://www.cnblogs.com/Sol9/p/18246911

相关文章

  • php基础语法_面向对象
    PHPphp代码标记多种标记来区分php脚本ASP标记:<%php代码%>短标记:脚本标记:标准标记(常用):简写风格:ASP风格:<%php代码%>注意:简写风格和ASP风格需要在php.ini配置文件中修改以下配置为on,移植性差short_open_tag=onasp_tags=on<html><body> <b> <?php //脚......
  • [强网杯 2019]Upload php反序列化代码审计
    进入页面发现有登录,随便注册一个用户登录试试。文件上传?传个试试,结果发现不论怎么上传都没用,还发现了cookie像是反序列化的东西。扫目录看看,发现源码。发现主要文件,做做审计吧。index.php<?phpnamespaceapp\web\controller;usethink\Controller;classIndexextend......
  • 正则表达式
    正则表达式importre限定符(quantifier)a* a出现0次或者多次a+ a出现1次或者多次a? a出现0次或者一次a{6} a出现6次a{2,6}a出现2-6次a{2,} a出现两次以上或运算符(OROperator)(a|b) 匹配(ab)|(cd) 匹配ab或者cd字符类(CharacterClasses)[abc] 匹配a或者b......
  • 正则表达式,你不知道的先行断言与后行断言
    正则表达式可以分为两个主要部分:标记和修饰符:标记(Token):是正则表达式的基本构建块,它们表示具体的字符文字、元字符、字符类别、重复限定符、边界匹配、分组和捕获等;修饰符(Modifier):是用来修改正则表达式的匹配行为的标志,例如忽略大小写、全局匹配、多行模式等。修饰符可以影......
  • 深入了解Laravel:PHP面试宝典
    Laravel是目前最受欢迎的PHP框架之一,它以其优雅的语法和强大的功能深受开发者喜爱。在PHP开发的面试中,Laravel的知识点往往是重点考察的内容。本文将为你详细解析Laravel的核心知识点,帮助你在面试中脱颖而出。一、Laravel简介Laravel是一个基于MVC(模型-视图-控制器)架构的PHP......
  • php中curl返回错误码60是什么原因?怎样处理?
    PHP中cURL返回错误码60通常与SSL证书验证有关。错误码60代表"SSLcertificateproblem:unabletogetlocalissuercertificate",意味着cURL无法验证远程服务器的SSL证书,可能是因为证书本身存在问题,或者是因为cURL的配置没有正确设置以识别有效的证书。处理cURL错误码60的方法......
  • C#实现使用正则表达式验证身份证号 (附完整源码)
    C#实现使用正则表达式验证身份证号代码解释:使用方法:下面是一个使用C#和正则表达式验证中国身份证号码的示例代码。中国的身份证号码通常是18位,前17位是数字,最后一位可以是数字或字母X。这个正则表达式会检查格式是否正确。usingSystem;usingSystem.......
  • 【毕设源码含论文】基于PHP的校园代取快递小程序
    本项目含论文、开题报告完整截图:【源码】基于php的校园代取快递小程序_哔哩哔哩_bilibili源码购买:基于PHP的校园代取快递小程序【代码+开题报告+论文】功能1.登录:采用微信一键授权登录的形式2.个人信息:包括姓名学号和手机号3.发布任务:发布一个代取快递的任务,包括单号......
  • 基于phpstudy的Pikachu靶场搭建(有手就会)
    目录一、phpstudy和pikachu源码下载地址二、phpstudy创建网站,网站根目录设置为pikachu的源码文件夹1、将pikachu_master(pikachu源码文件夹)放到phpstudy的WWW目录下2、打开phpstudy,创建pikachu靶场网站三、配置pikachu靶场四、用phpstudy的mysql连接pikachu靶场的数据库......
  • c语言开发 php扩展 sm4
    首先php可以直接调用openssl直接进行sm4sm3的加密如:openssl_encrypt($plaintext,'sm4-cbc',$key,OPENSSL_RAW_DATA,$iv);openssl_digest('123','sm3')php如果直接调用sm2需要统一使用openssl的evp接口openssl1.1的源码在sm2_crypt文件里面此处只是学习/*gmteste......