2018.3.16学习笔记(正则表达式)(作业没做)
2018-03-16 23:21 冒牌权限 阅读(72) 评论(0) 收藏 举报#/usr/bin/env python # -*- coding:utf-8 -*- import re #findall()匹配相应内容,把内容放进一个列表里面 #search()匹配第一个内容,得到一个方法对象,有自己的方法,例如re.search().group() # group()返回被re匹配的字符串,默认有参数0,可以输入多个组号对应不同的组 # start()返回匹配开始的位置 # end()返回匹配结束的位置 # span()返回一个元组包含匹配(开始,结束)的位置 #match()匹配最开始内容,得到一个方法对象,有自己的方法,同search() # re.match(pattern,string,flags = 0) # 默认flags = 0 # re.match(pattern,string,re.I) # re.I 对大小写不敏感 # re.L 做本地化识别 # re.M 多行匹配,影响^和$ # re.S 使.匹配所有字符,包括换行符 #sub()替换 print(re.sub('g.t','have','i get a , i got b ,i gut c',2)) #compile()把匹配规则先编译成对象,方便以后多次调用 txt = ' woo heho ola jdao assd aook book hfowjhe holhaf joj jooa' regex = re.compile(r'\w*oo\w*') print(regex.findall(txt))#匹配所有含oo的单词 #split()按匹配规则分割 regex = re.compile(' ') print(regex.split(txt))#发现前面有个空字符,因为woo前面有个空格,分割是分割成两边
原生字符串:因为正则本身是一种语言,python也是一种语言,所以要将python的字符串传给正则的时候难免要将一些特殊的字符传过去,最典型的就是‘\’,为避免出现比较坑爹的情况,就使用原生字符串,即规则前面加个r
例子:re.search(r'\\'.'abc\def')
如果不使用原生字符串,上面的例子得写成re.search('\\\\'.'abc.def')
练习:写一个计算器
浙公网安备 33010602011771号