位置: 编程技术 - 正文

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定时执行代码)

  • 小规模增值税会计处理流程
  • 建筑业的增值税税负
  • 进项税转出的会计处理方法
  • 增值税票是什么
  • 用友t3软件的系统内没有利润表模块
  • 小规模增值税纳税申报
  • 其他应付款为负数
  • 累计减税费用是什么意思
  • 企业所得税税率有几个档次
  • 二手车交易怎么办理过户手续
  • 公司卖房产怎么缴税
  • 非独立核算的分公司可以开票吗
  • 港币转人民币差额怎么平帐?
  • 亏损企业研发费加计扣除可以递延吗
  • 返利红字发票怎么做账
  • 集团企业涉税需求网络
  • 如何判断境内企业所得税
  • 自产产品公益性捐赠可以免征增值税吗
  • 车船税的减免税
  • 企业的其他业务是什么
  • 建筑业调试费进什么科目?
  • 客户少付货款怎么做账
  • 主营业务收入写不写明细
  • 税务变更后之前的进项
  • 固定资产的折旧从什么时候开始
  • 购买固定资产如何记账
  • 苹果14如何强制关机重启
  • swimsuitnetwork.exe - swimsuitnetwork是什么进程 有何作用
  • php 7z
  • php中如何获取数组的长度
  • 营改增后土增税收入
  • el-upload上传文件大小限制
  • 出纳岗位的职责是什么
  • Ichetucknee河的海牛,佛罗里达州 (© Jennifer Adler/Alamy)
  • pdo_mysql
  • 微信小程序父子通信
  • 民间非营利组织如何纳税
  • 什么叫存量比率
  • 所得税季度申报表怎么填
  • 所得税费用会计科目代码
  • 连锁店会计的工作内容
  • 运杂费可以计入固定资产吗
  • 四舍五入产生的原理
  • 工程咨询服务发展的指导意见有哪些
  • 个体工商户经营所得税税率表2023年
  • 固定资产为什么要交税
  • 报销差旅费会计分录退回现金
  • 评估价计入什么科目
  • 销售货物没有开票的会计分录
  • 租赁合同印花税怎么算
  • 集团公司股份
  • 红字冲账的记账凭证
  • 筹建期费用需要结转吗
  • 暂估入库一直未取得发票需要调账吗
  • 自产委托加工的货物用于非增值税应税项目
  • 补交增值税如何入账
  • 待抵扣税额怎么做分录
  • 银行存款日记账与银行对账单之间的核对属于
  • 收到技术服务费计入什么科目
  • 商业企业固定资产一次性扣除
  • mysql解压安装教程5.7
  • win8如何调整电脑屏幕亮度
  • win7如何共享文件夹给另一台电脑使用
  • 解决五大问题
  • ubuntu怎么用
  • centos7修改远程登录端口
  • win10系统代理在哪
  • gta4支持win10
  • 用于播放html5视频文件的正确
  • androidserviceslibrary设置
  • 场景转换的技巧
  • svn服务端启动
  • 简述python语言
  • scrollcontroller
  • linux命令sed的用法
  • awk入门
  • fullpage.js教程
  • android工具包
  • jQuery EasyUI Pagination实现分页的常用方法
  • 在国税局工作属于什么职业
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设