位置: 编程技术 - 正文

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年
  • 代理缴费业务主要包括
  • 外商投资企业采购国产设备退税后续监管办法
  • 销售免税药品要进项税额转出吗
  • 专项用途财政资金纳税调整规则
  • 未开票收入结转成本年利润怎么算
  • 教育费附加抵免政策
  • 经营性罚款和行政性罚款的区别
  • 专用发票报销时限
  • 境外企业开票没有税号怎么办?
  • 个人独资企业免税额度
  • 小规模企业给别人开16万增值税专用发票
  • 提高并购成本
  • 企业对外投资需要哪些审批
  • 办公车辆的燃油费过路费怎么报销?
  • 递延所得税年初数和期末数
  • linux 密码重置
  • ue4安装插件
  • 无花果的功效与作用对女人的好处
  • 建筑安装发票可以外地开吗
  • 哪一个国家有大提顿国家公园
  • 房地产企业如何计算土地使用税
  • 公司向股东借的钱怎么还
  • 合同权益转让 范本
  • 汇兑结算计入什么会计科目
  • 让税务局代开的发票直接交纳的税金怎么做会计分录?
  • 当月预交的增值税在申报期内可以填报进去抵扣
  • thinkphp demo
  • vue生命周期钩子函数
  • php比较大小的函数
  • cpu spread spectrum
  • 资本化过程
  • 印刷电机特点
  • 税务发票红字发票怎么开
  • 资本化支出影响营业利润吗
  • 增值税普通发票查询真伪
  • 货物运输服务可以加计扣除吗
  • 去年的滞纳金没有入账怎么处理
  • sh sqlplus
  • 拍卖车牌收入需要缴纳什么税
  • 政府补助是否可以抵扣
  • 清算时应交税金如何处理
  • 国企注册资本实缴
  • 房地产企业代收费用
  • 政府资助专项资金是什么
  • 银行利息收入怎么计算
  • 企业法人个人贷款企业承担吧?
  • 冲回去年收入会计分录
  • 固定资产的进项税额可以一次性抵扣吗
  • 收入 摊销
  • 会计原始分录包括什么
  • 弃置费用的摊销计算
  • 什么是中型企业
  • 期初试算平衡表资产多
  • 报销单与发票金额不符看什么
  • 招待费汇算清缴一定要调整的吗
  • 停车费怎么入账会计分录
  • 成本会计和管理会计哪个好
  • 销售怎么写啊
  • mysql join 慢
  • sql导入和导出数据
  • 完美解决索尼电视arc无声音
  • windows2000自动登陆
  • windows server 2008的技巧:防止ping的方法
  • win7怎么禁止系统自动更新
  • macbook系统快捷键
  • android源码分析实录
  • linux命令行命令
  • android fragmentation
  • android数据存储与访问的方式有
  • 发票是去国税还是地税
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设