位置: 编程技术 - 正文

PHP之正则表达式捕获组与非捕获组(详解)(php 正则表达式)

编辑:rootadmin

推荐整理分享PHP之正则表达式捕获组与非捕获组(详解)(php 正则表达式),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:php正则匹配a标签href,phpemail正则,phpemail正则,phpemail正则,phpemail正则,php正则表达式匹配链接,php正则表达式匹配链接,php 正则,内容如对您有帮助,希望把文章链接给更多的朋友!

在项目开发过程中正则表示经常会用到,可以说会正则表达式是每个程序员最基本的要求,初学者在刚接触正则表达式都感到很吃力。最近看到一位朋友的博客写的《PHP正则表达式》获益颇多,在章节对通配符以及捕获数据非常感兴趣。这两章节刚好也涉及到了正则表达式的捕获组和非捕获组的内容,以此来分析这方面的内容

  我们知道,在正则表达式下(x) 表示匹配'x'并记录匹配的值。这只是比较通俗的说法,甚至说这是不严谨的说法,只有()捕获组形式才会记录匹配的值。非捕获组则只匹配,不记录。

  捕获组:

  (pattern)

这种形式是我们见到最多的一种形式,匹配并返回捕获结果,可以嵌套,组号顺序从左到右依次排列‘。

  匹配结果:

这种方式虽然看起来在构造正则表达式的时候略微复杂一点,但实质上与(pattern)一样。最大的优势体现在对结果处理上,程序员可以直接根据自己设置的<name>直接快速调用结果,而不用再去数需要的结果在第几个子组了。

  匹配结果:

num是一个整数,是对捕获组的反向引用。 例如2表示第二个子组匹配值,表示第一个子组匹配值

  匹配结果:

PHP之正则表达式捕获组与非捕获组(详解)(php 正则表达式)

注意,这里我疏忽了一个小细节,一开始我第一样代码是 $regex = “/(w)(w)/”; 结果返回无匹配结果,经过调试后,发现这里只能用' '。'与" 用法差别大家还是需要注意下。

  k< name >

  了解了(&#;P<name>pattern)与num,这个就不难理解了。k< name >是对命名捕获组的反向引用。其中 name 是捕获组名。

  匹配结果:

  非捕获组:

  (&#;:pattern)

  与(pattern)的唯一区别是,匹配pattern但不捕获匹配结果。这里便不再举例。

  还有四种方式实际上讲的是一个事情:预查。

  预查分为正向预查与反向预查。根据字面理解,正向预查是判断匹配字符串后面某些字符存在与否,而反向预查则是判断匹配字符串前面某些字符存在与否。

  正向预查判断存在使用(&#;=pattern),判断不存在使用(&#;!pattern)。

  反向预查判断存在使用(&#;<=pattern),判断不存在使用(&#;<!pattern)。

  匹配结果:

  这四种形式使用的是否只要注意好相对匹配字符串的位置和断言肯定还是否定,就会很快掌握。

  另外,预查的四种形式是零宽度的,匹配的时候只做一个判断,本身是不占位置的。/HE(&#;=L)LLO/ 与HELLO匹配,而/HE(&#;=L)LO/与HELLO是不匹配的。毕竟但从字节数上两者就是不匹配的,前者只有4个,而后者有5个。

标签: php 正则表达式

本文链接地址:https://www.jiuchutong.com/biancheng/284458.html 转载请保留说明!

上一篇:如何通过Linux命令行使用和运行PHP脚本(linux命令行怎么用)

下一篇:PHP定时执行任务实现方法详解(Timer)(php定时执行代码)

  • 物业公司停车位出租发票税率是多少钱
  • 总账会计和全盘会计的区别
  • 金税四期什么时候执行
  • 分公司一定要汇总申报吗
  • 一般纳税人劳务税率是多少2023
  • 一般企业需要缴纳的税种
  • 监理费可以由施工方出吗
  • 固定资产的建造成本包括
  • 劳务关系需要缴社保吗?
  • 差额事业单位的工资是由财政开支吗
  • 破坏公司财产员工怎么处理
  • 安装工程中安装工程与市政路灯工程界定不正确的是
  • 销售型公司进销项时会计分怎么写?
  • 借款利息收入增值税税负率
  • 企业提供技术咨询服务的企税优惠政策
  • 汽车保险费里的钱能退吗
  • 存货盘亏应该计什么科目
  • 维修开票单位写什么
  • 外汇的收入
  • 自产自用产品的会计处理
  • 离职违约金赔偿标准
  • 企业接到银行收账通知
  • 苹果电脑付款方式设置
  • php初学者常见问题和答案
  • PHP:oci_field_size()的用法_Oracle函数
  • 企业收到政府出资款交增值税
  • php rar
  • php7.3安装
  • 向银行借入长期借款200000元,存入银行
  • php单例模式什么时候用
  • 小规模纳税人减免增值税会计处理
  • 动态设置窗体记录源属性
  • vue入门
  • 手撕视频教程全集
  • yii2框架和fastadmin建商城网站哪个好用
  • 上年所得税费用借方有余额,怎么调整
  • 五种差异化收费方式
  • 长期借款的会计分录怎么写
  • 调减加计抵减额什么意思
  • 应付股利是否影响未分配利润
  • 现金预算属于业务预算吗
  • 职工体检费用标准规定
  • 小规模企业可以抵扣进项税吗
  • 供应商费用是什么
  • 哪些免征土地使用税
  • 防暑降温费是不是必须发
  • 债务转为股份的协议
  • 仓库管理办法有哪些
  • 网吧的收入怎么做账
  • 预付账款属于哪一类账户
  • 应收账款转营业外支出
  • 企业实缴资本如何查
  • 所有者权益的概念和特征
  • 投资款不属于收入吗
  • 滴滴发票抬头是什么意思
  • 物业管理企业应当与居委会共同做好什么工作
  • mysql中字符串类型
  • windows隐藏功能
  • 远程管理是什么意思
  • ubuntu系统中怎么安装mathematica13.1.0
  • 3.0vray安装教程
  • windows7怎么打开注册表
  • win7旗舰版u盘在电脑上读不出来
  • w10系统如何
  • 创建nodejs 基于express项目
  • [置顶]从lv2开始开挂的原勇者候悠闲的异世界生活
  • 安卓飞行手游
  • matlab中sort函数的作用
  • linux百度网盘安装
  • windows安装python pip
  • jquery属性操作
  • 原生js
  • activity生命周期包含哪几种状态
  • android中的webview
  • 不使用flash
  • 善意取得的条件和效力
  • 河北电子税务局手机app
  • 河南省地方税务局公告2011年第10号
  • 罗湖税务局在哪
  • 文件印发的格式怎么设置
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设