命名分组(?name....)
捕获组分为:
- 普通捕获组(Expression)
- 命名捕获组(?Expression)
普通捕获组
从正则表达式左侧开始,每出现一个左括号"("记做一个分组,分组编号从 1 开始。0 代表整个表达式。
对于时间字符串:2017-04-25,表达式如下
(\\d{4})-((\\d{2})-(\\d{2}))
有 4 个左括号,所以有 4 个分组:
编号 | 捕获组 | 匹配 |
---|---|---|
0 | (\d{4})-((\d{2})-(\d{2})) | 2017-04-25 |
1 | (\d{4}) | 2017 |
2 | ((\d{2})-(\d{2})) | 04-25 |
3 | (\d{2}) | 04 |
4 | (\d{2}) | 25 |
命名捕获组
每个以左括号开始的捕获组,都紧跟着 ?,而后才是正则表达式。
对于时间字符串:2017-04-25,表达式如下:
(?<year>\\d{4})-(?<md>(?<month>\\d{2})-(?<date>\\d{2}))
有 4 个命名的捕获组,分别是:
编号 | 名称 | 捕获组 | 匹配 |
---|---|---|---|
0 | 0 | (?\d{4})-(?(?\d{2})-(?\d{2})) | 2017-04-25 |
1 | year | (?\d{4})- | 2017 |
2 | md | (?(?\d{2})-(?\d{2})) | 04-25 |
3 | month | (?\d{2}) | 04 |
4 | date | (?\d{2}) | 25 |
命名的捕获组同样也可以使用编号获取相应值。
转载于:https://www.cnblogs.com/mol1995/p/10927146.html
命名分组(?name....)相关推荐
- 捕获分组和非捕获分组以及命名分组
下面由一个例子引出非捕获组. 有两个金额:8899¥.显然,前一个是8899元的人民币,后一个是6688元的美元.我现在需要一个正则,要求提炼出它们的货币金额和货币种类.正则可以这写:(\\d)+([ ...
- 分组,命名分组,url的命名和反向解析
1.位置分组 匹配到参数,按照位置参数的方式传递给视图函数 视图函数需要定义形参接收变量 1.写在url里面的: # 删除url(r'^del_class/(\d+)',views.del_class ...
- 正则表达式的命名分组
语法格式:(?<name>-) 命名分组也是捕获性分组,它将匹配的字符串捕获到一个组名称或编号名称中,在获得匹配结果后,可通过分组名进行获取. 如下是一个python的命名分组的例子: i ...
- python-正则表达式-单字符匹配_多字符匹配_匹配分组_命名分组
正则表达式 正则表达式定义和作用 正则表达式的定义: 是约束字符串匹配某种形式的规则 正则表达式的作用: 检测某个字符串是否符合规则 提取网页字符串中想要的数据 正则表达式所包含的元素种类 正则表达式 ...
- django-反转路径时带上参数-适用于路径中通过命名分组的形式来捕捉参数的情景
路径中有参数的时候 article_id 就是路径里的参数 问题 如何通过别名来反转得到路径呢 注,路径中有一个动态的参数哦 路径反转带上参数(关键词方式) reverse(别名,kwargs={形参 ...
- django-反向解析-命名分组路由的反解
> 当路由分组以关键词来分组的时候 演练 演练不按套路反解 目标是明确参数的意义 路由 视图反解 reverse("命名空间:别名", kwargs={键:值,键2:值2} ...
- Django-安装/分组命名/路由分发
一.安装Django 命令行窗口: pycharm安装: 二.创建Django项目 命令行窗口创建项目: 访问地址: 表示访问成功 注意如果我们在命令行窗口创建的应用需要我们手动的在django的se ...
- 徒手撸出一个类Flask微框架(三)根据业务进行路由分组
所谓分组就是按照前缀分布映射 如: /product/(\w+)/(?P<id>\d+ # 匹配/product/123123 的前缀 比如什么类别,类别下的什么产品 等, 用reques ...
- Python 正则表达式(分组)
正则表达式分组 分组就是用一对圆括号"()"括起来的正则表达式,匹配出的内容就表示一个分组.从正则表达式的左边开始看,看到的第一个左括号"("表示第一个分组,第 ...
最新文章
- CMAKE_C_COMPILER not set
- 判断浏览器类型及版本
- Ansible:Ansibl项目生产环境快速布局
- 《剑指offer》从上往下打印二叉树
- 如何在Appscale下发布自己的应用(一)
- java多个类调用,java起用多进程调用某个类(是class文件)
- Leetcode 刷题笔记(二) —— 数组类型解题方法二:双指针法
- 原型和原型链 及 instanceof函数
- 空硬盘恢复linux,linux使用foremost恢复文件,硬盘恢复
- 松翰单片机数码管c语言,松翰单片机定时中断数码管程序
- Echarts实现饼图+饼图中心文字显示
- 随着数字化转型加速,Entrust Datacard更名为“Entrust”
- 推荐10个堪称神器的学习网站,IT学习网站
- [喵咪软件推荐(1)]全球国家信息库
- 哈工大计算机系名单,哈工大计算机学部公布拟录取名单,计算机科学与技术仅录29人!...
- 解决上网认证系统 IP 更改后 Ubuntu 等 Linux 系统无法上网的问题
- 深入了解C语言和C++哪个更难?
- 可汗学院为什么选择Go
- UG后处理—刀具行程值的输出
- PhysicalDrive 只是Device\Harddisk%d\Partition0的符号连接,. 而Device\Harddisk0\Partition0是\Device\Harddisk0\D