python五十九课——正则表达式的拓展内容
演示正则表达式的拓展内容:
函数:
finditer(regex,string,[flags=0]):
参数:和match、search、findall一样理解
功能:
将所有匹配的数据封装为一个一个的match对象,
然后以iterator返回
import re
str1 = 'i love shanghai shanghai shanghai so much'
regex = 'shanghai'
it = re.finditer(regex,str1)
print(it,type(it)) '''
iterator(迭代器对象)不能直接被len()所执行,否则报错:TypeError
但是我们可以将其先装换为容器对象(list、tuple...)可以被len()所执行了
'''
print(len(it))
print(len(list(it))) '''
使用遍历的思想去访问iterator中的元素
'''
for i in it:
print(i)
print(type(i))
print(i.group()) #迭代器对象中的内容只能被使用一次,不可逆;否则报错:StopIteration
print(next(it))
print(next(it))
print(next(it))
print(next(it)) #报错 '''
思考:可不可以使用while循环来实现遍历iterator对象的操作?
'''
while 1:
try:
matchobj=next(it)
print(matchobj)
print(matchobj.group())
except:
break
返回目录
python五十九课——正则表达式的拓展内容的更多相关文章
- python五十八课——正则表达式(替换)
替换:sub(regex,repl,string,count,[flags=0]): 替换数据,返回字符串(已经被替换完成后的内容)subn(regex,repl,string,count,[flag ...
- python五十八课——正则表达式(分组)
演示正则中的替换和切割操作:在这之前我们先学习一个分组的概念: 分组:在正则中定义(...)就可以进行分组,理解为得到了一个子组好处:1).如果正则中的逻辑比较复杂,使用分组就可以优化代码的阅读性(更 ...
- python五十六课——正则表达式(常用函数之match)
函数:match(regex,string,[flags=0])参数:regex:就是正则表达式(定义了一套验证规则)string:需要被验证的字符串数据flags:模式/标志位,默认情况下(不定义) ...
- python五十八课——正则表达式(切割)
切割:split(regex,string):返回一个列表对象 import re str1='i love shenzhen so much' regex=r' +?' lt=re.split(re ...
- python五十六课——正则表达式(常用函数之findall)
4).函数:findall(regex,string,[flags=0]): 参数: 和match.search一样理解 功能: 将所有匹配成功的子数据(子串),以列表的形式返回: 如果一个都没有匹配 ...
- python五十六课——正则表达式(常用函数之search())
函数:search(regex,string,[flags=0]):参数:和match一样理解功能:从头开始匹配字符串中的数据,如果头不匹配继续往后尝试匹配,直到有第一个匹配成功的子数据,立即返回一个 ...
- python五十六课——正则表达式(常用函数之compile())
2).compile(regex,[flags=0]):返回一个Pattern对象(认为:它内部已经封装了一套regex和flags) 可以再通过Pattern对象继续调用match函数(此时只需要传 ...
- python第二十九课——文件读写(复制文件)
自定义函数:实现文件复制操作有形参(2个) 没有返回值相似版(不用) def copyFile(src,dest): #1.打开两个文件:1个关联读操作,1个关联写操作 fr=open(src,'rb ...
- python第二十九课——文件读写(读取读取中文字符)
演示:读取中文字符 结论: 1).如果不设置encoding,默认使用gbk进行编解码 2).如果编码和解码不一致,最终导致报错,但是一旦设置了errors='ingore',那么就不会报错,而采取乱 ...
随机推荐
- MySQL常用的备份方式与备份工具简介
一.MySQL备份方式与备份类型 1.备份的必要性 再生产环境中,为了防止硬件故障.软件故障.自然灾害.误操作等各种原因导致的数据库数据丢失后能恢复到事故之前的状态,我们需要对数据库进行备份和恢复操作 ...
- 在Web.config或App.config中的添加自定义配置 <转>
.Net中的System.Configuration命名空间为我们在web.config或者app.config中自定义配置提供了完美的支持.最近看到一些项目中还在自定义xml文件做程序的配置 ...
- Mysql常用函数总结(二)
有的时候们需要了解当前的时间,这时候我们就可以调用时间函数了.下面就是一些常用的时间函数下面来说一下DATE_FORMAT(date,format):format可以有以下格式符:举个例子吧! mys ...
- linux下安装apache环境
Centos6.5 64位下安装apache php mysql(安装包版本一定要正确,网上很多都不准,不要用32位的安装包装再64位上,后期有很多问题,下载安装后一定要检出版本,有的网友操蛋,把3 ...
- 【实践练习一】Git以及Github的使用
以前经常在同学大神那听说过Github这神器,虽敬佩久已,奈何却无缘使用.好吧,我承认,主要还是不会用,一看网站全是英文的,想想还是不要为难自己了.然而现在还是要为难自己了,趁着早上刚学 ...
- 关于python访问字典的方法
def stu( **kwargs): # 在函数体内对于kwargs的使用不用带星号 print("大家好,我为大家简单自我介绍以下:") print(type(kwargs)) ...
- Salesforce的翻译工作台
翻译工作台 Salesforce提供了翻译工作台.在这里管理员可以对各种数据进行翻译设置,包括对象信息.字段信息.验证规则.错误信息等. 翻译工作台集中了翻译的内容,从而使得管理员或开发者不需要在其他 ...
- Linux profile1,bashrc,.bash_profile,.bash_login,.profile,.bashrc,.bash_logout浅析 Part1
profile,bashrc,.bash_profile,.bash_login,.profile,.bashrc,.bash_logout浅析 Part 1 by:授客 QQ:103355312 ...
- Angular基础(七) HTTP & Routing
一.HTTP a)Angular提供了自己的HTTP库来调用外部API,为了能够在等待API响应的过程中继续与界面交互,采用异步HTTP请求的方式. b)Get请求,首先导入Http, Respo ...
- Android-仿“抖音”的评论列表的UI和效果
在design包里面 有一个 BottomSheetDialogFragment 这个Fragment,他已经帮我们处理好了手势,所以实现起来很简单.下面是代码: public class ItemL ...