Python模块_re正则表达式模块-2
re模块之转义字符
print(re.findall("I\b","I am a Man")) #匹配不到结果 print(re.findall(r"I\b","I am a Man")) #加字符串前加r的意思是对于特殊字符不作处理的交给re去处理 print(re.findall("I\\\k","I\k am a Man")) #k是没有特殊意义的, 而 \ 在re里是有特殊意义的,所以"I\k am a Man"中的\k其实是\\k print(re.findall(r"I\\k","I\k am a Man")) #已知re里的 I\k字符 是 I\\k .加r对特殊字符不作处理的交给re去处理
re模块之 | (或)
print(re.findall("AB|CD","AAAAAABBBBBBBBBBCCCCCCCCDDDDDD")) #把符合AB和符合CD条件的拿出来,结果是:['AB', 'CD'] print(re.findall("(abc)+","abcabcabc")) #这个结果是:['abc'] ,如何解读? print(re.findall("(abc)+","abcXabcXabc")) #这个结果是:['abc', 'abc', 'abc'] ,如何解读?
print(re.findall("www.(baidu|163)\.com","www.163.com")) #结果是 ['163'],有 |(或) 会匹配分组条件的内容 print(re.findall("www.(baidu|163)\.com","www.baidu.com")) #结果是 ['baidu'] print(re.findall("www.(?:baidu|163)\.com","www.baidu.com")) #结果是:['www.baidu.com']
re模块之search方法
search和findall的区别是:search是最小匹配,findall是贪婪匹配
print(re.search("ABC","123456ABC")) #结果返回是一个对象:<re.Match object; span=(6, 9), match='ABC'> print(re.search("ABC","123456ABC").group()) #对象的group()方法的结果返回的是一个字符串:ABC print(re.search("(?P<num>[0-9])[A-Z]+","123ABC456JJJ").group())# 结果是:3ABC print(re.search("(?P<num>[0-9])[A-Z]+","123ABC456JJJ").group("num")) #结果是:3 ,符合预期
re模块之split方法 (分割)
print(re.split("[34]","A3B4CDE3FG4H3")) #结果是:['A', 'B', 'CDE', 'FG', 'H', ''],最后为什么是 空,因为3的前面已经算是被4分了,后面也没东西了,所以是 空 print(re.split("[34]","A34CDE3FG4H3")) #结果是:['A', '', 'CDE', 'FG', 'H', ''],第二个匹配结果为什么是 空,因为 3的后面是4,4也是分割条件一个,所以3后面没东西了,就空了,强行解释?
re模块之sub,subn方法 (相当于replace替换)
print(re.sub("\d","AK47","12345")) #结果是:AK47AK47AK47AK47AK47,,有5个ak47,意思就是每匹配到符合要求的单个字符,就会替换 print(re.sub("\d+","AK47","12www1")) #结果是:AK47wwwAK47,有2个AK47,因为12算符合\d+ 的第一个条件,所以算一个替换结果 print(re.sub("\d+","AK47","12www1",1)) #结果是:AK47www1 ,最后一个没去替换,应该我最后一个参数1,表示只替换一次符合要求的结果
print(re.subn("\d","AK47","12www321")) #结果是:元组('AK47AK47wwwAK47AK47AK47', 5),5的意思是符合条件的有5个
re模块之compile方法
no_num = re.compile("\D+") # 先把规则编译到一个对象 result11 = no_num.sub("---","ABC123ABC") print(result11)
re模块之finditer方法
iter_ret = re.finditer("\d","1234567812345678123456781234567812345678") #当处理的数据量很大的时候,就要用到迭代器,以免内存撑爆了 print(next(iter_ret).group()) print(next(iter_ret).group()) print(next(iter_ret).group())
转载于:https://www.cnblogs.com/iamjames/p/11261607.html
Python模块_re正则表达式模块-2相关推荐
- Python中re(正则表达式)模块函数学习
2019独角兽企业重金招聘Python工程师标准>>> Python正则表达式指南 今天学习了Python中有关正则表达式的知识.关于正则表达式的语法,不作过多解释,网上有许多学习的 ...
- python正则表达式模块_Python正则表达式模块(re模块)
Python是我接触到的第一门编程语言,虽然它足够简单,但是对于当时刚刚接触编程语言的我来说还是有些难度的,于是只是了解了一些Python的基本语法,稍微深入一点的地方都没怎么了解.不过,到现在为止, ...
- python如何打出英文括号_用python的re(正则表达式)模块匹配英文环境下的括号
在用re(正则表达式)模块匹配掉文本中的括号时,总是出现各种各样的问题,经过将近一个小时的摸索,终于找到了问题的所在. 案例: 将 txt = 'Linux系统安装 - 1.1(Av20994127, ...
- Python中re(正则表达式)模块学习
re.match re.match 尝试从字符串的开始匹配一个模式,如:下面的例子匹配第一个单词. import re text = "JGood is a handsome boy, he ...
- python正则表达式模块_Python正则表达式模块re
正则表达式是一种通用的字符串匹配模式,使用灵活功能强大. Python正则表达式支持的语法可以参见这张表 Python的标准模块re提供了对正则表达式的支持,使用r'' 表示正则字符串可以避免转义字符 ...
- python中分割字符串两种方法正则分组别名,如何在python中使用正则表达式模块将文本字符串分割成单词?...
Here's what I'm working with- string1 = "Dog,cat,mouse,bird. Human." def string_count(text ...
- python re模块 字符串匹配_re模块实现正则表达式之match()方法
Python提供了re模块,用于实现正则表达式的操作.在实现时可以使用re模块提供的方法,(如search(),match(),findall()等)进行字符串处理也可以使用re模块compile() ...
- python正则表达式需要模块_使用Python正则表达式模块,让操作更加简单
处理文本数据的一个主要任务就是创建许多以文本为基础的特性. 人们可能想要在文本中找出特定格式的内容,比如找出存在于文本中的电子邮件,或者大型文本中的电话号码. 虽然想要实现上述功能听起来很繁琐,但是如 ...
- python中的正则表达式语法_Python基础教程之正则表达式基本语法以及re模块
什么是正则: 正则表达式是可以匹配文本片段的模式. 正则表达式'Python'可以匹配'python' 正则是个很牛逼的东西,python中当然也不会缺少. 所以今天的Python就跟大家一起讨论一下 ...
最新文章
- 云计算重构渠道商的价值基础,推动渠道商向服务商转型
- Oracle之数据操作__分组统计查询
- STM32外部中断与各通道对应关系
- IOS开发-GitHub使用详解
- springboot controller调用service_绝了!Dataway让SpringBoot不在需要Controller、Service、DAO......
- Android各种各样的Drawable-更新中
- 给Angular初学者介绍一个非常方便的例子学习网站
- DFT 与 ATPG综 述
- Kubernetes API 与 Operator,不为人知的开发者战争
- 特斯拉中国公开统一维保价格
- Spring+springmvc+hibernate+redis整合配置文件
- spark数据倾斜解决之提高并行度
- html5微信分享图标和文本设置,科技常识:Html5 实现微信分享及自定义内容的流程...
- 单片机通过改变占空比改变电机转速c语言,直流电动机的调速 用单片机产生PWM控制...
- Java面向对象编程,绘制思维导图(全面详细整理)
- matlab中的求导函数diff
- 无需脑图 无需思维导图 看Word大纲视图
- Linux怎么恢复已删除的文件,Linux中使用extundelete恢复已删除的文件
- Python-F.softmax(dim)中dim使用理解
- ios 系统状态栏样式修改_IOS修改状态栏的字体颜色以及修改状态栏的背景颜色...
热门文章
- 荣耀10i高清渲染图曝光:后置三摄+高颜值渐变色机身
- 会玩!抖音上线拉春联特效 “拜个抖音年”活动参与人数超65万
- 千呼万唤始出来!诺基亚发预热海报:5摄手机真要来了
- 14款荣耀/华为机型获版本升级: 适配FlyPods Pro骨声纹识别
- qt glsl渲染rgb
- go语言:200行代码做udp rtp转发并发分布服务器
- 1 数列分块入门_LOJ#6277.数列分块入门1
- C++和Delphi工程0.5四舍五入问题的的排查
- [大学回忆录-思想]一种能力的培养
- 软件测试转行月薪过万,那些转行软件测试的新手小白,是如何从月薪5000到月薪2万的?...