• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号
您的位置:首页 > 程序设计 >正则表达式 > 正则 捕获组(capture group)

正则 捕获组(capture group)

作者: 字体:[增加 减小] 来源:互联网 时间:2017-05-11

通过本文主要向大家介绍了正则捕获,正则 捕获组,正则表达式捕获组,正则表达式捕获,正则表达式 不捕获等相关知识,希望对您有所帮助,也希望大家支持linkedu.com www.linkedu.com
</div> 一种是普通的捕获组,不产生歧义的情况下,后面简称捕获组,语法规则:(expression);</div> 另一种是命名捕获组,语法规则:(?<name>expression)或者(?'name'expression),这两种写法是等价的。</div>  </div> </div> 如果没有显式为捕获组命名,即没有使用命名捕获组,那么需要按数字顺序来访问所有捕获组</div> 在只有普通捕获组的情况下,捕获组的编号是按照“(”出现的顺序,从左到右编号的 </div>  </div> (\d{4})-(\d{2}-(\d\d))</div> 1        1 2          3    3 2</div>  </div> 上面的正则表达式可以用来匹配格式为yyyy-MM-dd的日期,为了在下表中得以区分,采用了\d{2}和\d\d两种写法</div> 还有一个默认编号为0的组,表示的是正则表达式的整体</div> 用以上正则表达式匹配字符串:2008-12-31</div> 匹配结果为:</div>
编号 命名 捕获组 匹配内容
0   (\d{4})-(\d{2}-(\d\d)) 2008-12-31
1   (\d{4}) 2008
2   (\d{2}-(\d\d)) 12-31
3   (\d\d) 31
</div>  </div> 如果对组进行了显式命名,即命名捕获组,那么捕获的内容可以通过组名称来引用</div> 但是如果正则表达式中既使用了普通捕获组,也使用了命名捕获组,那么捕获组的编号就要特别注意,编号的规则是先对普通捕获组进行编号,再对命名捕获组进行编号</div>  </div> (\d{4})-(?<date>\d{2}-(\d\d))</div> 1        1 3                       2     23</div>  </div> 用以上正则表达式匹配字符串:2008-12-31</div> 匹配结果为:</div></div></div>
编号 命名 捕获组 匹配内容
0   (\d{4})-(\d{2}-(\d\d)) 2008-12-31
1   (\d{4}) 2008
2   (\d\d) 31
3 date (?<date>\d{2}-(\d\d)) 12-31
</div></div></div></div>  </div>  </div> </div> 对捕获组的引用一般有以下几种</div> a) 正则表达式中,对前面捕获组捕获的内容进行引用,称为反向引用</div> b) 正则表达式中,(?(表达式)true|false)的条件表达式</div> c) 在程序中,对捕获组捕获内容的引用</div>  </div> 反向引用</div> 对于普通捕获组的引用,语法规则为:\k<num>,通常简写为\num,其中num是十进制的数字,即捕获组的编号</div> 对于命名捕获组的引用,语法规则为:\k<name>或者\k'name'</div> </div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 正则 捕获组(capture group)

相关文章

  • 2017-05-11js正则函数match、exec、test、search、replace、split使用介绍集合
  • 2017-05-11正则表达式教程之操作符及说明详解
  • 2017-05-11JS 正则表达式判断各个浏览器代码详解
  • 2017-05-11用正则表达式判断字符串是汉字还是拼音的js函数代码
  • 2017-05-11正则表达式学习笔记
  • 2017-05-11正则基础之 NFA引擎匹配原理
  • 2017-05-11js mac地址 正则表达式
  • 2017-05-11php正则表达式匹配img中任意属性的方法
  • 2017-05-11asp下替换非数字为空的正则
  • 2017-05-11javascript正则表达式基础篇

文章分类

  • JavaScript
  • ASP.NET
  • PHP
  • 正则表达式
  • AJAX
  • JSP
  • ASP
  • Flex
  • XML
  • 编程技巧
  • Android
  • swift
  • C#教程
  • vb
  • vb.net
  • C语言
  • Java
  • Delphi
  • 易语言
  • vc/mfc
  • 嵌入式开发
  • 游戏开发
  • ios
  • 编程问答
  • 汇编语言
  • 微信小程序
  • 数据结构
  • OpenGL
  • 架构设计
  • qt
  • 微信公众号

最近更新的内容

    • 最新版网址替换正则表达式
    • 完美替换html代码
    • 正则表达式u修饰符(支持UTF-16编码)
    • 将 html 转成 ubb代码的小脚本
    • 正则匹配后面非指定字符的正则 原创
    • JS 密码强度校验的正则表达式(简单且好用)
    • 在实际例子中学习正则表达式(高效率)
    • 正则表达式断言、巡视(Assertions)、正向断言、反向断言介绍
    • Javascrp中几个常用的字符串验证
    • 正则表达式{n,m}量词(至少n次,最多m次)

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有