正则 捕获组(capture group)
发布时间:2016-12-29 来源:查字典编辑
摘要:捕获组有两种形式一种是普通的捕获组,不产生歧义的情况下,后面简称捕获组,语法规则:(expression);另一种是命名捕获组,语法规则:(...
捕获组有两种形式 一种是普通的捕获组,不产生歧义的情况下,后面简称捕获组,语法规则:(expression); 另一种是命名捕获组,语法规则:(?<name>expression)或者(?'name'expression),这两种写法是等价的。 1、编号规则 如果没有显式为捕获组命名,即没有使用命名捕获组,那么需要按数字顺序来访问所有捕获组 在只有普通捕获组的情况下,捕获组的编号是按照“(”出现的顺序,从左到右编号的 (d{4})-(d{2}-(dd)) 1 12 3 3 2 上面的正则表达式可以用来匹配格式为yyyy-MM-dd的日期,为了在下表中得以区分,采用了d{2}和dd两种写法 还有一个默认编号为0的组,表示的是正则表达式的整体 用以上正则表达式匹配字符串:2008-12-31 匹配结果为:
编号 | 命名 | 捕获组 | 匹配内容 |
0 | (d{4})-(d{2}-(dd)) | 2008-12-31 | |
1 | (d{4}) | 2008 | |
2 | (d{2}-(dd)) | 12-31 | |
3 | (dd) | 31 |
编号 | 命名 | 捕获组 | 匹配内容 |
0 | (d{4})-(d{2}-(dd)) | 2008-12-31 | |
1 | (d{4}) | 2008 | |
2 | (dd) | 31 | |
3 | date | (?<date>d{2}-(dd)) | 12-31 |