JAVA技术交流QQ群:170933152

正则表达式中的re.M表示将字符串视为多行,从而^匹配每一行的行首,$匹配每一行的行尾

我给你个Python语言的例子,你看看吧

这个程序是匹配冒号加一个空格后的数字串,中间有换行符\n所以用多行匹配re.M

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

#!/usr/bin/python3

 

import re

 

line = "IF_MIB::=Counter32: 12345\nIF_MIB::=Counter32: 1234556";

result = re.findall( r'(?<=\:\s)\d+$', line, re.M)

 

if result:

     print (result)

else:

     print ("Nothing found!!")

运行结果

['12345''1234556']

re.I 忽略大小写

>>> re.match(r"A","abc",re.I)

<_sre.SRE_Match object at 0x0000000001F1A510>

re.M,将所有行的尾字母输出 multiple

>>> a="123abc456"
>>> import re
>>> print(re.search("([0-9]*)([a-z]*)([0-9]*)", a).group(0))
123abc456
>>> print(re.search("([0-9]*)([a-z]*)([0-9]*)", a).group(1))
123
>>> print(re.search("([0-9]*)([a-z]*)([0-9]*)", a).group(2))
abc
>>> print(re.search("([0-9]*)([a-z]*)([0-9]*)", a).group(3))
456
>>> print(re.search("([0-9]*)([a-z]*)([0-9]*)", a).group())
123abc456
>>> print(re.search("([0-9]*)([a-z]*)([0-9]*)", a).groups())
('123', 'abc', '456')
>>> print(re.search("([0-9])*([a-z])*([0-9]*)", a).groups())
('3', 'c', '456')
>>> print(re.search("([0-9])*([a-z])*([0-9]*)", a).groups(1))
('3', 'c', '456')
>>> print(re.search("([0-9])*([a-z])*([0-9]*)", a).group(0))
123abc456
>>> print(re.search("([0-9])*([a-z])*([0-9]*)", a).group())
123abc456

究其因:

1. 正则表达式中的三组括号把匹配结果分成三组

  • m.group() == m.group(0) == 所有匹配的字符(即匹配正则表达式整体结果)
  • group(1) 列出第一个括号匹配部分,group(2) 列出第二个括号匹配部分,group(3) 列出第三个括号匹配部分。
  • m.groups() 返回所有括号匹配的字符,以tuple格式。m.groups() == (m.group(0), m.group(1), ...)

2. 没有匹配成功的,re.search()返回None

3. 当然郑则表达式中没有括号,group(1)肯定不对了。

Python工作笔记003---正则中的re.I re.M_以及m.group和m.groups的解释相关推荐

  1. Python工作笔记-往dll中传入char*类型的参数并且如何接收char*的值

    dll中getColorName对应的定义声明如下: 因为Python中没有char这种数据,所以直接用会有如下的问题: 源码如下: import ctypesif __name__=='__main ...

  2. Centos7中安装zookeeper3.7.0_找不到或无法加载主类 org.apache.zookeeper.server.quorum.QuorumPeer---zookeeper工作笔记003

    因为要按照kafka的话,肯定要先安装zookeeper,这里记录一下安装zookeeper的过程. 1.首先要配置JDK,这里就不用说了 2.然后去下载安装包,这里: // 进入下载目录并下载 cd ...

  3. Python工作笔记001---python3的print加括号_Python3中不存在raw_input( )了

    JAVA技术交流QQ群:170933152 python的print加不加括号 在python3以前,人们习惯不在print后面加括号 -- 加上也没有问题: 在python3以后,语法要求在prin ...

  4. Python工作笔记-dictionary的遍历以及enumerate使用以及Py3中has_key的替代

    程序运行截图如下: 源码如下: if __name__ == '__main__':diction={'1' : 'test1', '2' : 'test2', '3' : 'test3', '4' ...

  5. 架构设计工作笔记004---架构中常见的概念积累--随时更新

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 1.仓储在企业的整个供应链中起着至关重要的作用,如果不能保证正确的进货和库存控制及发货,将会导致管 ...

  6. python_标识符_帮助系统的使用_命名规则---python工作笔记018

    然后我们再来看python中,变量的命名规则,可以看到 1.首先是区分大小写 2.然后第一个字符必须是字符,或者下划线,后面是字符必须是,字母数字,下划线 3.不能使用关键字,其他编程语言中也这样 4 ...

  7. python_对象的基本组成和内存示意图---python工作笔记016

    然后我们再来看看python中的,对象 稍微理解一下吧,跟c++,java中的对象,还是不太一样的 可以看到,可以这样理解,对象在内存,这个停车场中,可以是一个一个的车位,每个车位 都有个id,比如c ...

  8. python_开发环境介绍_交互模式使用_IDE介绍和使用---python工作笔记010

    然后我们再来看python开发用的IDE,都有哪些,可以看到 IDLE是官方提供的,pycharm这个用的很多,是jetbrains提供的,我们后面才会用这个 可以看到开始中输入idle可以找到这个工 ...

  9. C/C++线程与多线程工作笔记0005---c/c++中的wchar_t类型

    技术交流QQ群[JAVA,C++,Python,.NET,BigData,AI]:170933152 #include <iostream> #include <locale> ...

最新文章

  1. 亚马逊推出Simple Workflow Service手册
  2. 博客搬迁至网易博客 http://happyboy200032.blog.163.com
  3. python Gevent – 高性能的Python并发框架
  4. 二叉树的遍历 (递归和非递归实现)
  5. android 环信消息红点,环信3.0获取会话消息列表
  6. Ubuntu 15 周年!
  7. list 分组_Power query 灵活处理员工特殊出勤问题(3)-TableGroup分组 amp; 合并查询
  8. Fuschia 是什么样的一个操作系统
  9. 网关转发其他微服务后头信息拿不到_微服务之基于Zuul自研服务网关
  10. Linux多线程编程实验
  11. 浙大翁凯老师Java课堂学习记录(第三周)
  12. 房地产数字化营销方案-蓝图
  13. 来自司徒正美的面试题
  14. Ubuntu下Linux常用命令练习作业题(1)
  15. Euler配置yum源
  16. 2014年互联网IT公司产品、技术类人员工资待遇汇总 2015部分补充
  17. 中科创达副总裁孙力:AI视觉仍在路上,平台需求胜过算法
  18. 智慧电厂信息系统设计方案
  19. 猿辅导python面试题_史上最全猿辅导面试流程及感受
  20. DIN22 IPO OC双输入双输出单电源供电光电隔离转换器 输入/输出 3000VDC 五隔离 实现正负双向信号的隔离传输

热门文章

  1. FPGA学习笔记---利用连续赋值语句延时功能实现按键消抖
  2. SpringSecurity安全框架
  3. SpringBoot中模板引擎thymeleaf
  4. MVC与三层架构讲解
  5. DICOM开发工具总结
  6. 吴恩达深度学习5.1练习_Sequence Models_Character level language model - Dinosaurus land
  7. Algs4-2.3.25切换到插入排序的试验
  8. IntelliJ IDEA配置与搭建web项目入门使用
  9. 超详细Centos6.5文本模式安装步骤
  10. 精选CSDN的ACM-ICPC活跃博客