一、re模块的使用-常用方法

match(pattern, string, flags = 0)  从string的第一个字符来匹配。如果匹配成功,返回匹配对象,否则返回None,匹配结果可以用group方法获取

importre

c= re.match('[0-9]+[a-z]+', 'a99aaa')print(c.group(0))

结果:

---------------------------------------------------------------------------

AttributeError Traceback (most recent call last)

in ()

1 import re

2 c = re.match('[0-9]+[a-z]+', 'a99aaa')

----> 3 print(c.group(0))

AttributeError: 'NoneType' object has no attribute 'group'

importre

c= re.match('[0-9]+[a-z]+', '99aaa')print(c.group(0))

结果:

99aaa

search(pattern, string ,flags = 0)     匹配字符串中第一次出现的符合正则的子串,没有从第一个字符匹配的限制。如果匹配成功,则返回匹配对象,否则返回None

importre

c= re.search('[0-9]+[a-z]+', 'aa99aaa')print(c.group(0))

结果:

99aaa

findall(pattern, string[,flags] )      查找字符串中所有(非重复)出现的正则表达式模式,并返回一个匹配列表

importre

c= re.findall('[0-9]+[a-z]+', 'aa99aaa88bb77cc')print(c)

结果:

['99aaa', '88bb', '77cc']

finditer(pattern, string[,flags] )      与findall()相同,但返回的是一个迭代器。对于每一次成功匹配,迭代器都会返回一个匹配对象

importre

c= re.finditer('[0-9]+[a-z]+', 'aa99aaa88bb77cc')for i inc:print(i.group(0))

结果:

99aaa

88bb

77cc

split(pattern, string, max = 0)      根据正则表达式的模式分隔符,split函数将字符串分割为列表,返回匹配列表,分割最多操作max次

importre

c= re.split('[0-9]+', 'aa99aaa88bb77cc', 2)print(c)

结果:

['aa', 'aaa', 'bb77cc']

compile(pattern)       生成一个规则模式,返回一个正则表达式对象

importre

c= re.compile('[0-9]+[a-z]+')

r= re.findall(c, 'aa99aaa88bb')print(r)

结果:

['99aaa', '88bb']

以上方法中的flags参数为匹配模式,如下:

1).re.I(re.IGNORECASE): 忽略大小写2).re.M(MULTILINE): 多行模式,改变’^’和’$’的行为3).re.S(DOTALL): 点任意匹配模式,改变’.’的行为,使其可以匹配'\n'

4).re.L(LOCALE): 使预定字符类 \w \W \b \B \s \S 取决于当前区域设定5).re.U(UNICODE): 使预定字符类 \w \W \b \B \s \S \d \D 取决于unicode定义的字符属性6).re.X(VERBOSE): 详细模式。这个模式下正则表达式可以是多行,忽略空白字符,并可以加入注释

二、常用正则

ip: (?:[0-9]{1,3}\.){3}[0-9]{1,3}

邮箱: [a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z0-9-.]+

手机号:1[0-9]{10}

python中re模块_python中re模块的使用以及一些正则表达式的总结相关推荐

  1. python中定义数据结构_Python中的数据结构—简介

    python中定义数据结构 You have multiples algorithms, the steps of which require fetching the smallest value ...

  2. python算法和数据结构_Python中的数据结构和算法

    python算法和数据结构 To 至 Leonardo da Vinci 达芬奇(Leonardo da Vinci) 介绍 (Introduction) The purpose of this ar ...

  3. python通过什么连接数据库_python中常用的各种数据库操作模块和连接实例

    这篇文章主要介绍了python中常用的各种数据库操作模块和连接实例,包括sqlite3.oracle.mysql.excel,需要的朋友可以参考下 工作中,经常会有用python访问各种数据库的需求, ...

  4. 简述python中怎样导入模块_Python中导入模块的两种模式,import

    import import pandas import pandas as pd 使用函数方式:.(),或者.() 比如 pandas.read_csv("data/stock.csv&qu ...

  5. python中options类_python中的optionParser模块

    Python 有两个内建的模块用于处理命令行参数: 一个是 getopt,<Deep in python>一书中也有提到,只能简单处理 命令行参数: 另一个是 optparse,它功能强大 ...

  6. python中sys用法_python中os和sys模块的区别与常用方法总结

    python 的 python中os和sys模块的区别与常用方法总结 前言 本文主要介绍了关于python中os和sys模块区别与常用方法的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看 ...

  7. python中time模块中的倒计时_Python中time模块与datetime模块在使用中的不同之处 python 的time模块获取的是什么时间...

    python的datetime模块的一些问题 time_1 = datetime.datetime.now(pytz.timezone('Asia/Shanghai')) timeimport dat ...

  8. python modbus类封装_Python 中引入一个文件,模块的概念

    Python 提供了强大的模块支持,主要体现在,不仅 Python 标准库中包含了大量的模块(称为标准模块),还有大量的第三方模块,开发者自己也可以开发自定义模块. 通过这些强大的模块可以极大地提高开 ...

  9. python大型项目中的日志模块_Python中日志模块的使用

    前言 程序和脚本往往是无人值守运行的,一旦发生问题,就需要我们去追溯当时的情况来定位问题的原因. 这便需要我们在程序和脚本中引入日志的功能. 相比于print信息,使用logging日志有以下优点 可 ...

  10. python中自带的模块_python中的模块详解

    概念 python中的模块是什么?简而言之,在python中,一个文件(以".py"为后缀名的文件)就叫做一个模块,每一个模块在python里都被看做是一个独立的文件.模块可以被项 ...

最新文章

  1. [转载]Using ngOptions In AngularJS
  2. PAT (Advanced Level) 1014. Waiting in Line (30)
  3. NetBeans 时事通讯(刊号 # 27 - Sep 24, 2008)
  4. java 100% cpu_Java服务,CPU 100%问题如何快速定位?
  5. 计算机专业的求职信英文作文,计算机专业本科英文求职信范文
  6. How to use wget to download mail archives?
  7. windows环境下安装wget
  8. pdf reference官方指南之-语法基础和文件结构
  9. unity 反编译 step1 disUnity
  10. linux 模拟误码率,误码率BER计算原理及仿真输出
  11. 3CDaemon使用教程
  12. php deployer 从入门到精通
  13. 小米路由器R3原厂BootLoader和eeprom备份
  14. 再见,马云!再见,世界首富!
  15. mysql 在指定的dsn中_指定的DSN包含驱动程序和应用程序之间的体系结构不匹配。 JAVA...
  16. TIDB——HTAP
  17. 什么是MTTF、MTTR、MTBF?
  18. 51智能小车超声波避障
  19. c语言 用结构指针输入,c语言结构体以及结构体指针的使用
  20. 波段选股王怎么在市场中利用头肩底实现杀跌

热门文章

  1. PHP获取用户地址方法
  2. java报错怎么看_IGV 哐当就不能用了,除了换台电脑还能怎么办?
  3. c语言随机生成整数存放一维数组_C语言入门教程(十)多维数组
  4. python 内网镜像站_Python|还是回归海龟与裸IDLE,准备卸载Anaconda
  5. 湖南大学计算机考研考什么,2017年湖南大学计算机系统考研大纲
  6. java bmp rgb数组_将RGB数据写入BMP位图文件
  7. Linux多进程拷贝fork,浅析linux中fork函数
  8. hibernate mysql 映射_hibernate与mysql映射类型对应表与mysql导入导出
  9. chroot环境怎么重启linux,linux下简易chroot环境的塔建
  10. html5怎么改为vue_【面试需要Vue全家桶】一文带你看透Vue前端路由