收藏 分销(赏)

Python程序设计-董付国(第二版)第4章-字符串与正则表达式.pptx

上传人:二*** 文档编号:12593608 上传时间:2025-11-08 格式:PPTX 页数:97 大小:348.14KB 下载积分:5 金币
下载 相关 举报
Python程序设计-董付国(第二版)第4章-字符串与正则表达式.pptx_第1页
第1页 / 共97页
本文档共97页,全文阅读请下载到手机保存,查看更方便
资源描述
Click to edit Master title style,Click to edit Master text styles,Second level,Third level,Fourth level,Fifth level,11/7/2009,#,第4章字符串与正则表达式,4.1字符串,最早的字符串编码是美国标准信息交换码ASCII,仅对10,个数字、26个大写英文字母、26个小写英文字母及一些其,他符号进行了编码。ASCII码采用1个字节来对字符进行编,码,最多只能表示256个符号。,4.1字符串,随着信息技术的发展和信息交换的需要,各国的文字都需,要进行编码,不同的应用领域和场合对字符串编码的要求,也略有不同,于是又分别设计了多种不同的编码格式,常,见的主要有UTF-8、UTF-16、UTF-32、GB2312、GBK、,CP936、base64、CP437等等。,4.1字符串,UTF-8对全世界所有国家需要用到的字符进行了编码,以1,个字节表示英语字符(兼容ASCII),以3个字节表示中文,,还有些语言的符号使用2个字节(例如俄语和希腊语符号),或4个字节。,GB2312是我国制定的中文编码,使用1个字节表示英语,2,个字节表示中文;GBK是GB2312的扩充,而CP936是微软在,GBK基础上开发的编码方式。GB2312、GBK和CP936都是使,用2个字节表示中文。,4.1字符串,不同编码格式之间相差很大,采用不同的编码格式意味着,不同的表示和存储形式,把同一字符存入文件时,写入的,内容可能会不同,在试图理解其内容时必须了解编码规则,并进行正确的解码。如果解码方法不正确就无法还原信息,,从这个角度来讲,字符串编码也具有加密的效果。,4.1字符串,Python3.x完全支持中文字符,默认使用UTF8编码格式,,无论是一个数字、英文字母,还是一个汉字,都按一个字,符对待和处理。,s=中国山东烟台,len(s)#字符串长度,或者包含的字符个数,6,s=中国山东烟台ABCDE#中文与英文字符同样对待,都算一个字符,len(s),11,姓名=张三#使用中文作为变量名,print(姓名)#输出变量的值,张三,4.1字符串,在Python中,字符串属于不可变序列类型,除了支持序列,通用方法(包括分片操作)以外,还支持特有的字符串操,作方法。,4.1字符串,Python字符串驻留机制:对于短字符串,将其赋值给多个,不同的对象时,内存中只有一个副本,多个对象共享该副,本。长字符串不遵守驻留机制。,4.1.1字符串格式化,4.1.1字符串格式化,常用格式字符,格式字符,说明,%s,%r,%c,%b,%d,%i,%o,%x,%e,%E,%f、%F、%F,%g,%G,%,字符串(采用str()的显示),字符串(采用repr()的显示),单个字符,二进制整数,十进制整数,十进制整数,八进制整数,十六进制整数,指数(基底写为e),指数(基底写为E),浮点数,指数(e)或浮点数(根据显示长度),指数(E)或浮点数(根据显示长度),字符%,4.1.1字符串格式化,x=1235,so=%o%x,so,2323,sh=%x%x,sh,4d3,se=%e%x,se,1.235000e+03,chr(ord(3)+1),4,%s%65,65,%s%65333,65333,%d%555,TypeError:%dformat:anumberisrequired,notstr,4.1.1字符串格式化,int(555),555,%s%1,2,3,1,2,3,str(1,2,3),(1,2,3),str(1,2,3),1,2,3,4.1.1字符串格式化,使用format方法进行格式化,print(Thenumber0:,inhexis:0:#x,thenumber1inoct,is1:#o.format(5555,55),print(Thenumber1:,inhexis:1:#x,thenumber0inoct,is0:#o.format(5555,55),print(mynameisname,myageisage,andmyQQis,qq.format(name=DongFuguo,age=37,qq=306467355),position=(5,8,13),print(X:00;Y:01;Z:02.format(position),4.1.1字符串格式化,weather=(Monday,rain),(Tuesday,sunny),(Wednesday,sunny),(Thursday,rain),(Friday,Cloudy),formatter=Weatherof00is01.format,foriteminmap(formatter,weather):,print(item),foriteminweather:,print(formatter(item),4.1.1字符串格式化,从Python3.6.x开始支持一种新的字符串格式化方式,官,方叫做FormattedStringLiterals,其含义与字符串对,象的format()方法类似,但形式更加简洁。,name=Dong,age=39,fMynameisname,andIamageyearsold.,MynameisDong,andIam39yearsold.,width=10,precision=4,value=11/3,fresult:value:width.precision,result:3.667,4.1.2字符串常用方法,find()、rfind()、index()、rindex()、count(),是整个字符串)中首次和最后一次出现的位置,如果不存在则返回-1;,find()和rfind方法分别用来查找一个字符串在另一个字符串指定范围(默认,和最后一次出现的位置,如果不存在则抛出异常;,index()和rindex()方法用来返回一个字符串在另一个字符串指定范围中首次,count()方法用来返回一个字符串在另一个字符串中出现的次数。,4.1.2字符串常用方法,s=apple,peach,banana,peach,pear,s.find(peach),6,s.find(peach,7),19,s.find(peach,7,20),-1,s.rfind(p),25,s.index(p),1,s.index(pe),6,s.index(pear),25,s.index(ppp),Traceback(mostrecentcalllast):,File,line1,in,s.index(ppp),ValueError:substringnotfound,s.count(p),5,s.count(pp),1,s.count(ppp),0,4.1.2字符串常用方法,split()、rsplit()、partition()、rpartition(),split()和rsplit()方法分别用来以指定字符为分隔符,将字符串左端和右端,开始将其分割成多个字符串,并返回包含分割结果的列表;,partition()和rpartition()用来以指定字符串为分隔符将原字符串分割为3,部分,即分隔符前的字符串、分隔符字符串、分隔符后的字符串,如果指定,的分隔符不在原字符串中,则返回原字符串和两个空字符串。,4.1.2字符串常用方法,s=apple,peach,banana,pear,li=s.split(,),li,apple,peach,banana,pear,s.partition(,),(apple,peach,banana,pear),s.rpartition(,),(apple,peach,banana,pear),s.rpartition(banana),(apple,peach,banana,pear),s=2014-10-31,t=s.split(-),print(t),2014,10,31,print(list(map(int,t),2014,10,31,4.1.2字符串常用方法,对于split()和rsplit()方法,如果不指定分隔符,则字,符串中的任何空白符号(包括空格、换行符、制表符等等),都将被认为是分隔符,返回包含最终分割结果的列表。,s=helloworldnnMynameisDong,s.split(),hello,world,My,name,is,Dong,s=nnhelloworldnnnMynameisDong,s.split(),hello,world,My,name,is,Dong,s=nnhellottworldnnnMynametisDong,s.split(),hello,world,My,name,is,Dong,4.1.2字符串常用方法,split()和rsplit()方法还允许指定最大分割次数,s=nnhellottworldnnnMynameisDong,s.split(None,1),hello,worldnnnMynameisDong,s.rsplit(None,1),nnhellottworldnnnMynameis,Dong,s.split(None,2),hello,world,MynameisDong,s.rsplit(None,2),nnhellottworldnnnMyname,is,Dong,hello,world,My,name,is,Dong,s.split(maxsplit=6),hello,world,My,name,is,Dong,s.split(maxsplit=100),hello,world,My,name,is,Dong,4.1.2字符串常用方法,调用split()方法并且不传递任何参数时,将使用任何空白,字符作为分隔符,把连续多个空白字符看作一个;明确传,递参数指定split()使用的分隔符时,情况略有不同。,a,bb,ccc.split(,)#每个逗号都被作为独立的分隔符,a,bb,ccc,atttbbttccc.split(t)#每个制表符都被作为独立的分隔符,a,bb,ccc,atttbbttccc.split()#连续多个制表符被作为一个分隔符,a,bb,ccc,4.1.2字符串常用方法,partition()和rpartition()方法以指定字符串为分隔符将原字,符串分隔为3部分,即分隔符之前的字符串、分隔符字符,串和分隔符之后的字符串。,s=apple,peach,banana,pear,s.partition(,)#从左侧使用逗号进行切分,(apple,peach,banana,pear),s.rpartition(,)#从右侧使用逗号进行切分,(apple,peach,banana,pear),s.rpartition(banana)#使用字符串作为分隔符,(apple,peach,banana,pear),abababab.partition(a),(,a,bababab),abababab.rpartition(a),(ababab,a,b),4.1.2字符串常用方法,字符串连接join(),li=apple,peach,banana,pear,sep=,s=sep.join(li),s,apple,peach,banana,pear,4.1.2字符串常用方法,importtimeit,不推荐使用+运算符连接字符串,优先使用join()方法,#使用列表推导式生成10000个字符串,strlist=Thisisalongstringthatwillnotkeepinmemory.forninrange(10000),#使用字符串对象的join()方法连接多个字符串,defuse_join():,return.join(strlist),#使用运算符+连接多个字符串,defuse_plus():,result=,forstrtempinstrlist:,result=result+strtemp,returnresult,4.1.2字符串常用方法,if_name_=_main_:,#重复运行次数,times=1000,jointimer=timeit.Timer(use_join(),from_main_importuse_join),print(timeforjoin:,jointimer.timeit(number=times),plustimer=timeit.Timer(use_plus(),from_main_importuse_plus),print(timeforplus:,plustimer.timeit(number=times),4.1.2字符串常用方法,timeit模块还支持下面代码演示的用法,从运行结果可以,看出,当需要对大量数据进行类型转换时,内置函数map(),可以提供非常高的效率。,importtimeit,timeit.timeit(-.join(str(n)forninrange(100),number=10000)#运行10000次,0.3063435900577929,timeit.timeit(-.join(str(n)forninrange(100),number=10000),0.27191914957273866,timeit.timeit(-.join(map(str,range(100),number=10000),0.21119518171659024,4.1.2字符串常用方法,lower()、upper()、capitalize()、title()、swapcase(),s=WhatisYourName?,s.lower()#返回小写字符串,whatisyourname?,s.upper()#返回大写字符串,WHATISYOURNAME?,s.capitalize()#字符串首字符大写,Whatisyourname?,s.title()#每个单词的首字母大写,WhatIsYourName?,s.swapcase()#大小写互换,wHATISyOURnAME?,4.1.2字符串常用方法,查找替换replace(),类似于“查找与替换”功能,s=中国,中国,s,中国,中国,s2=s.replace(中国,中华人民共和国),s2,中华人民共和国,中华人民共和国,4.1.2字符串常用方法,测试用户输入中是否有敏感词,如果有的话就把敏感词替,换为3个星号*。,words=(测试,非法,暴力,话),text=这句话里含有非法内容,forwordinwords:,ifwordintext:,text=text.replace(word,*),text,这句*里含有*内容,4.1.2字符串常用方法,字符串对象的maketrans()方法用来生成字符映射表,而,translate()方法用来根据映射表中定义的对应关系转换,字符串并替换其中的字符,使用这两个方法的组合可以同,时处理多个不同的字符,replace()方法则无法满足这一,要求。,#创建映射表,将字符abcdef123一一对应地转换为uvwxyz#$,table=.maketrans(abcdef123,uvwxyz#$),s=Pythonisagreateprogramminglanguage.Ilikeit!,#按映射表进行替换,s.translate(table),Pythonisugryutyprogrumminglunguugy.Ilikyit!,4.1.2字符串常用方法,凯撒加密,importstring,defkaisa(s,k):,lower=string.ascii_lowercase#小写字母,upper=string.ascii_uppercase#大写字母,before=string.ascii_letters,after=lowerk:+lower:k+upperk:+upper:k,table=.maketrans(before,after)#创建映射表,returns.translate(table),s=Pythonisagreateprogramminglanguage.Ilikeit!,kaisa(s,3),Sbwkrqlvdjuhdwhsurjudpplqjodqjxdjh.Lolnhlw!,4.1.2字符串常用方法,strip()、rstrip()、lstrip(),s=abc,s2=s.strip()#删除空白字符,s2,abc,nnhelloworldnn.strip()#删除空白字符,helloworld,aaaassddf.strip(a)#删除指定字符,ssddf,aaaassddf.strip(af),ssdd,aaaassddfaaa.rstrip(a)#删除字符串右端指定字符,aaaassddf,aaaassddfaaa.lstrip(a)#删除字符串左端指定字符,ssddfaaa,4.1.2字符串常用方法,这三个函数的参数指定的字符串并不作为一个整体对待,,而是在原字符串的两侧、右侧、左侧删除参数字符串中包,含的所有字符,一层一层地从外往里扒。,aabbccddeeeffg.strip(af)#字母f不在字符串两侧,所以不删除,bbccddeeeffg,aabbccddeeeffg.strip(gaf),bbccddeee,aabbccddeeeffg.strip(gaef),bbccdd,aabbccddeeeffg.strip(gbaef),ccdd,aabbccddeeeffg.strip(gbaefcd),4.1.2字符串常用方法,内置函数eval(),eval(3+4),7,a=3,b=5,eval(a+b),8,importmath,eval(help(math.sqrt),eval(math.sqrt(3),1.7320508075688772,eval(aa),NameError:nameaaisnotdefined,4.1.2字符串常用方法,eval()函数是非常危险的,a=input(Pleaseinput:),Pleaseinput:_import_(os).startfile(rC:Windowsnotepad.exe),eval(a),eval(_import_(os).system(mdtesttest),4.1.2字符串常用方法,成员判断,关键字in,ainabcde#测试一个字符中是否存在于另一个字符串中,True,abinabcde,True,acinabcde#关键字in左边的字符串作为一个整体对待,False,jinabcde,False,4.1.2字符串常用方法,Python字符串支持与整数的乘法运算,表示序列重复,也,就是字符串内容的重复。,abcd*3,abcdabcdabcd,4.1.2字符串常用方法,s.startswith(t)、s.endswith(t),判断字符串是否以指,定字符串开始或结束,s=Beautifulisbetterthanugly.,s.startswith(Be)#检测整个字符串,True,s.startswith(Be,5)#指定检测范围起始位置,False,s.startswith(Be,0,5)#指定检测范围起始和结束位置,True,importos,filenameforfilenameinos.listdir(rc:)iffilename.endswith(.bmp,.jpg,.gif),4.1.2字符串常用方法,center()、ljust()、rjust(),返回指定宽度的新字符串,,原字符串居中、左对齐或右对齐出现在新字符串中,如果,指定宽度大于字符串长度,则使用指定的字符(默认为空,格)进行填充。,Helloworld!.center(20)#居中对齐,以空格进行填充,Helloworld!,Helloworld!.center(20,=)#居中对齐,以字符=进行填充,=Helloworld!=,Helloworld!.ljust(20,=)#左对齐,Helloworld!=,Helloworld!.rjust(20,=)#右对齐,=Helloworld!,4.1.2字符串常用方法,zfill()返回指定宽度的字符串,在左侧以字符0进行填充,。,abc.zfill(5)#在左侧填充数字字符0,00abc,abc.zfill(2)#指定宽度小于字符串长度时,返回字符串本身,abc,uio.zfill(20),00000000000000000uio,4.1.2字符串常用方法,isalnum()、isalpha()、isdigit()、isdecimal()、isnumeric()、,isspace()、isupper()、islower(),用来测试字符串是否为,数字或字母、是否为字母、是否为数字字符、是否为空白,字符、是否为大写字母以及是否为小写字母。,1234abcd.isalnum(),True,1234abcd.isalpha()#全部为英文字母时返回True,False,1234abcd.isdigit()#全部为数字时返回True,False,abcd.isalpha(),True,1234.0.isdigit(),False,4.1.2字符串常用方法,1234.isdigit(),True,九.isnumeric()#isnumeric()方法支持汉字数字,True,九.isdigit(),False,九.isdecimal(),False,.isdecimal(),False,.isdigit(),False,.isnumeric()#支持罗马数字,True,4.1.2字符串常用方法,除了字符串对象提供的方法以外,很多Python内置函数也,可以对字符串进行操作,例如:,x=Helloworld.,len(x)#字符串长度,12,max(x)#最大字符,w,min(x),list(zip(x,x)#zip()也可以作用于字符串,(H,H),(e,e),(l,l),(l,l),(o,o),(,),(w,w),(o,o),(r,r),(l,l),(d,d),(.,.),4.1.2字符串常用方法,切片也适用于字符串,但仅限于读取其中的元素,不支持,字符串修改。,Explicitisbetterthanimplicit.:8,Explicit,Explicitisbetterthanimplicit.9:23,isbetterthan,4.1.2字符串常用方法,Pytho标准库zlib中提供的compress()和decompress()函数,可以用于数据的压缩和解压缩,在压缩字符串之前需要先,编码为字节串。,importzlib,x=Python程序设计系列图书,董付国编著,清华大学出版社.encode(),len(x),72,y=press(x),len(y)#对于重复度比较小的信息,压缩比小,83,x=(Python系列图书*3).encode(),len(x),54,4.1.2字符串常用方法,y=press(x)#信息重复度越高,压缩比越大,len(y),30,z=zlib.decompress(y),len(z),54,z.decode(),Python系列图书Python系列图书Python系列图书,x=董付国*8,y=str(x).encode(),len(y),104,z=press(y)#只能对字节串进行压缩,len(z),26,zlib.decompress(z).decode(),董付国,董付国,董付国,董付国,董付国,董付国,董付国,董付国,4.1.3字符串常量,Python标准库string中定义数字字符、标点符号、英文字母、,大写字母、小写字母等常量。,importstring,string.digits,0123456789,string.punctuation,!#$%?_|,string.ascii_letters,ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz,string.ascii_lowercase,abcdefghijklmnopqrstuvwxyz,string.ascii_uppercase,ABCDEFGHIJKLMNOPQRSTUVWXYZ,4.1.3字符串常量,随机密码生成原理,importstring,x=string.digits+string.ascii_letters+string.punctuation,x,0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ!#$%&()*,+,-./:;?_|,importrandom,.join(random.choice(x)foriinrange(8),H.#=)g,.join(random.choice(x)foriinrange(8),(CrZ44M,.join(random.choice(x)foriinrange(8),o_?MiF,.join(random.choice(x)foriinrange(8),nimportio,s=Hello,world,sio=io.StringIO(s),sio.getvalue(),Hello,world,sio.seek(7),7,sio.write(there!),6,4.1.4可变字符串,sio.getvalue(),Hello,there!,importarray,a=array.array(u,s),print(a),array(u,Hello,world),a0=y,print(a),array(u,yello,world),a.tounicode(),yello,world,4.1.5字符串应用案例精选,例4-1编写函数实现字符串加密和解密,循环使用指定密,钥,采用简单的异或算法。,defcrypt(source,key):,fromitertoolsimportcycle,result=,temp=cycle(key),forchinsource:,result=result+chr(ord(ch)ord(next(temp),returnresult,4.1.5字符串应用案例精选,source=ShandongInstituteofBusinessandTechnology,key=DongFuguo,print(BeforeEncrypted:+source),encrypted=crypt(source,key),print(AfterEncrypted:+encrypted),decrypted=crypt(encrypted,key),print(AfterDecrypted:+decrypted),4.1.5字符串应用案例精选,例4-2编写程序,生成大量随机信息,这在需要获取大量,数据来测试或演示软件功能的时候非常有用,不仅能真实,展示软件功能或算法,还可以避免泄露真实数据或者引起,不必要的争议。,importrandom,importstring,importcodecs,#常用汉字Unicode编码表(部分),完整列表详见配套源代码,StringBase=u7684u4e00u4e86u662fu6211u4e0du5728u4eba,#转换为汉字,StringBase=.join(StringBase.split(u),4.1.5字符串应用案例精选,defgetEmail():,#常见域名后缀,可以随意扩展该列表,suffix=.com,.org,.net,.cn,characters=string.ascii_letters+string.digits+_,username=.join(random.choice(characters)foriin,range(random.randint(6,12),domain=.join(random.choice(characters)foriin,range(random.randint(3,6),returnusername+domain+random.choice(suffix),defgetTelNo():,return.join(str(random.randint(0,9)foriinrange(11),4.1.5字符串应用案例精选,defgetNameOrAddress(flag):,flag=1表示返回随机姓名,flag=0表示返回随机地址,result=,ifflag=1:,#大部分中国人姓名在2-4个汉字,rangestart,rangeend=2,5,elifflag=0:,#假设地址在10-30个汉字之间,rangestart,rangeend=10,31,else:,print(flagmustbe1or0),return,foriinrange(random.randint(rangestart,rangeend):,result+=random.choice(StringBase),returnresult,4.1.5字符串应用案例精选,defgetSex():,returnrandom.choice(男,女),defgetAge():,returnstr(random.randint(18,100),4.1.5字符串应用案例精选,defmain(filename):,withcodecs.open(filename,w,utf-8)asfp:,fp.write(Name,Sex,Age,TelNO,Address,Emailn),#随机生成200个人的信息,foriinrange(200):,name=getNameOrAddress(1),sex=getSex(),age=getAge(),tel=getTelNo(),address=getNameOrAddress(0),email=getEmail(),line=,.join(name,sex,age,tel,address,email)+n,fp.write(line),4.1.5字符串应用案例精选,defoutput(filename):,withcodecs.open(filename,r,utf-8)asfp:,whileTrue:,line=fp.readline(),ifnotline:,return,line=line.split(,),foriinline:,print(i,end=,),print(),4.1.5字符串应用案例精选,if_name_=_main_:,filename=information.txt,main(filename),output(filename),4.1.5字符串应用案例精选,例4-3检查并判断密码字符串的安全强度。,importstring,defcheck(pwd):,#密码必须至少包含6个字符,ifnotisinstance(pwd,str)orlen(pwd)importre#导入re模块,text=alpha.beta.gammadelta#测试用的字符串,re.split(.+,text)#使用指定字符作为分隔符进行分隔,alpha,beta,gamma,delta,re.split(.+,text,maxsplit=2)#最多分隔2次,alpha,beta,gammadelta,re.split(.+,text,maxsplit=1)#最多分隔1次,alpha,beta.gammadelta,pat=a-zA-Z+,re.findall(pat,text)#查找所有单词,alpha,beta,gamma,delta,4.2.3直接使用re模块方法,pat=name,text=Dearname.,re.sub(pat,Mr.Dong,text)#字符串替换,DearMr.Dong.,s=asd,re.sub(a|s|d,good,s)#字符串替换,goodgoodgood,s=Itsaverygoodgoodidea,re.sub(r(bw+)1,r1,s)#处理连续的重复单词,Itsaverygoodidea,re.sub(a,lambdax:x.group(0).upper(),aaaabcabde),#repl为可调用对象,AAAAbcAbde,4.2.3直接使用re模块方法,re.sub(a-z,lambdax:x.group(0).upper(),aaaabcabde),AAAABCABDE,re.sub(a-zA-z,lambdax:chr(ord(x.group(0)32),aaa,aBcabde),#英文字母大小写互换,AAAAbCABDE,re.subn(a,dfg,aaaabcabde)#返回新字符串和替换次数,(dfgdfgdfgdfgbcdfgbde,5),re.sub(a,dfg,aaaabcabde),dfgdfgdfgdfgbcdfgbde,re.escape(www.python.org)#字符串转义,www.python.org,4.2.3直接使用re模块方法,example=Beautifulisbetterthanugly.,re.findall(bb.+?b,example)#以字母b开头的完整单词,#此处问号?表示非贪心模式,better,re.findall(bb.+b,example)#贪心模式的匹配结果,betterthanugly,re.findall(bbw*b,example),better,re.findall(Bh.+?b,example)#不以h开头且含有h字母的单词剩余部分,han,re.findall(bw.+?b,example)#所有单词,Beautiful,is,better,than,ugly,4.2.3直接使用re模块方法,re.findall(d+.d+.d+,Python2.7.13),#查找并返回x.x.x形式的数字,2.7.13,re.findall(d+.d+.d+,Python2.7.13,Python3.6.0),2.7.13,3.6.0,s=Thisishead.Thisis,body.,pattern=r(.+)(.+),result=re.search(pattern,s),result.group(1)#第一个子模式,Thisishead.,result.group(2)#第二个子模式,Thisisbody.,4.2.4使用正则表达式对象,首先使用re模块的compile()方法将正则表达式编译生成正则表达式,对象,然后再使用正则表达式对象提供的方法进行字符串处理。,使用编译后的正则表达式对象可以提高字符串处理速度。,正则表达式对象的match(string,pos,endpos)方法用于在字符,串开头或指定位置进行搜索,模式必须出现在字符串开头或指定位置;,正则表达式对象的search(string,pos,endpos)方法用于在整,个字符串中进行搜索;,正则表达式对象的findall(string,pos,endpos)方法用于在字,符串中查找所有符合正则表达式的字符串列表。,4.2.4使用正则表达式对象,match()、search()、findall(),match(string,pos,endpos)方法在字符串开头或指定位置进行搜索,模式必,须出现在字符串开头或指定位置;,search(string,pos,endpos)方法在整个字符串或指定范围中进行搜索;,findall(string,pos,endpos)方法字符串中查找所有符合正则表达式的字符串,并以列表形式返回。,4.2.4使用正则表达式对象,importre,example=ShanDongInstituteofBusinessandTechnology,patte
展开阅读全文

开通  VIP会员、SVIP会员  优惠大
下载10份以上建议开通VIP会员
下载20份以上建议开通SVIP会员


开通VIP      成为共赢上传

当前位置:首页 > 教育专区 > 初中其他

移动网页_全站_页脚广告1

关于我们      便捷服务       自信AI       AI导航        抽奖活动

©2010-2026 宁波自信网络信息技术有限公司  版权所有

客服电话:0574-28810668  投诉电话:18658249818

gongan.png浙公网安备33021202000488号   

icp.png浙ICP备2021020529号-1  |  浙B2-20240490  

关注我们 :微信公众号    抖音    微博    LOFTER 

客服