Python 正则表达式

re 模块使 Python 语言拥有全部的正则表达式功能,re模块常用方法:

re.match函数

re.match从字符串的起始位置匹配,如果起始位置匹配不成功,则match()就返回none。,如果匹配成功,则可通过group(num) 或 groups()获取匹配结果。

函数语法

re.match(pattern,string,flags=0)

函数参数

pattern : 正则表达式

string : 字符串。

flags : 标志位,用于控制正则表达式的匹配方式,如:是否区分大小写等等

flags模式

re.I 使匹配对大小写不敏感

re.L 做本地化识别(locale-aware)匹配

re.M 多行匹配,影响 ^ 和 $re.S使 . 匹配包括换行在内的所有字符

re.U 根据Unicode字符集解析字符。这个标志影响 w, W, , B.

re.X 该标志通过给予你更灵活的格式以便你将正则表达式写得更易于理解。

import re

re_str='The re module gives the Python language full regular expression capabilities.'

match_str=re.match('The r(.+?)', re_str)

# group() 匹配的整个表达式的字符串,group() 可以一次输入多个组号,在这种情况下它将返回一个包含那些组所对应值的元组。

print(match_str.group())

输出 The re

print(match_str.group(1))

输出 e

# 返回一个包含所有小组字符串的元组,从 1 到 所含的小组号。

print(match_str.groups())

输出 ('e',)

# 其实位置匹配不成功则返回None

match_str=re.match('module',re_str)

print(match_str)

输出 None

# 设置为对大小写不敏感,re.I

match_str=re.match('the r(.+?)',re_str,re.I)

print(match_str.group())

输出 The re

re.search方法

re.search 对整个字符串进行匹配并返回第一个成功的匹配字符串,否则返回None。              我刚整理了一套2018最新的0基础入门和进阶教程,无私分享,加Python学习q u n :227-435-450即可获取,内附:开发工具和安装包,以及系统学习路线图

函数语法

re.search(pattern,string,flags=0)

函数参数

pattern : 正则表达式

string : 字符串

flags : 标志位

search_str=re.search('r(.+?)', re_str)

print(search_str.group())

输出 re

re.match与re.search的区别

re.match只匹配字符串的开始,如果字符串开始不符合正则表达式,则匹配失败,而re.search匹配整个字符串,直到找到一个匹配,并返回第一个被匹配到的字符串。

findall

在字符串中匹配所有满足正则表达式的字符串,并返回一个列表,如果没有找到匹配的,则返回空列表。

函数语法

findall(string[,pos[,endpos]])

函数参数

string : 待匹配的字符串。

pos : 可选参数,指定字符串的起始位置,默认为 0。

endpos : 可选参数,指定字符串的结束位置,默认为字符串的长度。

findall_str=re.findall('i.+?',re_str)

print(findall_str)

# 上面还是使用re.findall的方式,这里推荐使用re.compile生成正则表达式对象,然后按照上面参数说明使用该函数,如下。

pattern=re.compile('i.+?')

pattern.findall(re_str)

输出 ['iv', 'io', 'il', 'it', 'ie']

re.split

split 方法按照能够匹配的子串将字符串分割后返回列表

函数语法

re.split(pattern,string[,maxsplit=0,flags=0])

函数参数

pattern : 正则表达式

string : 字符串

maxsplit : 分隔次数,maxsplit=1 分隔一次,默认为 0,不限制次数。

flags : 标志位

split_str=re.split('i.+?',re_str)

print(split_str)

输出 ['The re module g', 'es the Python language full regular express', 'n capab', '', '', 's.']

附 呕心沥血整理的正则表达式的语法规则


正则表达式的语法规则


正则表达式的语法规则

Python 正则表达式——re模块介绍的更多相关文章

  1. Python面试题之Python正则表达式re模块

    一.Python正则表达式re模块简介 正则表达式,是一门相对通用的语言.简单说就是:用一系列的规则语法,去匹配,查找,替换等操作字符串,以达到对应的目的:此套规则,就是所谓的正则表达式.各个语言都有 ...

  2. python正则表达式Re模块备忘录

    title: python正则表达式Re模块备忘录 date: 2019/1/31 18:17:08 toc: true --- python正则表达式Re模块备忘录 备忘录 python中的数量词为 ...

  3. python正则表达式re模块详细介绍--转载

    本模块提供了和Perl里的正则表达式类似的功能,不关是正则表达式本身还是被搜索的字符串,都可以是Unicode字符,这点不用担心,python会处理地和Ascii字符一样漂亮. 正则表达式使用反斜杆( ...

  4. python正则表达式——re模块

    http://blog.csdn.net/zm2714/article/details/8016323 re模块 开始使用re Python通过re模块提供对正则表达式的支持.使用re的一般步骤是先将 ...

  5. python正则表达式-re模块的爱恨情仇

    利用python的re模块,使用正则表达式对字符串进行处理 # 编辑者:闫龙 import re restr = "abccgccc123def456ghi789jgkl186000&quo ...

  6. python正则表达式-re模块

    目录: 一.正则函数 二.re模块调用 三.贪婪模式 四.分组 五.正则表达式修饰符 六.正则表达式模式 七.常见的正则表达式 导读: 想要使用python的正则表达式功能就需要调用re模块,re模块 ...

  7. Python正则表达式re模块和os模块实现文件搜索模式匹配

    ☞ ░ 前往老猿Python博文目录 ░ 因测试需要,需要提供一个可以指定目录搜索符合条件的文件名函数,搜索时可以通过*(星号)匹配0-n个字符,?(问号)匹配任意1个字符,可以指定多个文件类型,每个 ...

  8. python -- 正则表达式&re模块(转载)

    1. 正则表达式基础 1.1. 简单介绍 正则表达式并不是Python的一部分.正则表达式是用于处理字符串的强大工具,拥有自己独特的语法以及一个独立的处理引擎,效率上可能不如str自带的方法,但功能十 ...

  9. python 正则表达式re模块

    #####################总结##############    优点:  灵活, 功能性强, 逻辑性强.               缺点:  上手难,旦上手, 会爱上这个东西    ...

随机推荐

  1. 荐书在精不在多,推荐一份夯实Java基础的必备书单!

    文/黄小斜 转载请注明出处 head first Java 推荐指数:⭐️⭐️⭐️⭐️⭐️ 推荐理由: 说实话,这本书和其他的我Java类型书籍真的大不相同,它不会一本正经地去说技术概念和原理,而是通 ...

  2. mpvue小程序开发

    查阅资料,看官方文档,知道mpvue是一个使用 Vue.js 开发小程序的前端框架(美团的开源项目).框架基于 Vue.js 核心,mpvue 修改了 Vue.js 的 runtime 和 compi ...

  3. json格式的文件操作2

    1.字典转换为字符串(json.dumps) jsongeshi={"name":"yajuan","age":"10" ...

  4. Python爬虫系列(三):requests高级耍法

    昨天,我们更多的讨论了request的基础API,让我们对它有了基础的认知.学会上一课程,我们已经能写点基本的爬虫了.但是还不够,因为,很多站点是需要登录的,在站点的各个请求之间,是需要保持回话状态的 ...

  5. 一个不错的java学习博客

    http://iteye.blog.163.com/blog/static/18630809620131484835129/

  6. <context:component-scan base-package=""> 与 <context:annotation-config 区别

    <context:component-scan base-package=""> <context:annotation-config (2012-11-16 2 ...

  7. AQS系列(七)- 终篇:AQS总结

    前言 本文是对之前AQS系列文章的一个小结,首先看看以下几个问题: 1.ReentrantLock和ReentrantReadWriteLock的可重入特性是如何实现的? 2.哪个变量控制着锁是否被占 ...

  8. 模仿NetFlix首页效果

    之前写过UWP 带左右滚动按钮的横向ListView———仿NetFlix首页河的设计,讲述了如何设计一个带有左右滚动按钮横向的ListView. 不过我在半年之前挖了一个坑,由于工作关系,没时间来填 ...

  9. 使用python pip安装工具组件包:出现 requests File “<stdin>",line 1 pip install xxx ^ SyntaxError:invalid syntax

    最近想要试试python ,软件安装完成了,但是,import 组件包时,出了问题,一直不得解:安装pycharm 工具感觉麻烦,不想安装那些,只想单纯使用python . 问题复现: 1.Windo ...

  10. 用Python爬取大众点评数据,推荐火锅店里最受欢迎的食品

    前言 文的文字及图片来源于网络,仅供学习.交流使用,不具有任何商业用途,版权归原作者所有,如有问题请及时联系我们以作处理. 作者:有趣的Python PS:如有需要Python学习资料的小伙伴可以加点 ...