python_day6_re模块补充

####################re.findall

查找哦所有

 

JG=re.findall('al(e)x','alex make love')  拿到的是alex 中的e

JG=re.findall('al(?:e)x','alex make love')  拿到alex

贪婪模式a.*b 和a.*?b a123213bsdasdsab

# JG=re.findall('a.*b','alexb make loveb') #贪婪模式->最懒的方法,取所有
# JG=re.findall('a.*?b','alexb make loveb') #非贪婪模式 将所有a.*b 取为一个 值,放入列表

 

re.findall('xxx(a|b)',A)         只匹配a|b
re.findall('xxx(?:a|b)')         匹配xxxa 和 xxxb
re.findall('xxx|(aaa)','alex xxx aaa')  -->执行xxx就不执行aaa
JG=re.search('a|m','alex make love')  类似于linux的 ||符号, 找到a 就不找后面,找不到a 就去找b

    上面俩个和LINUX的||一样


#JG=re.findall('abcd(?:e|o|x)','abcde,abcdo,abcdx') #取出所有

 

# JG=re.findall('\-?\d+\.\d*','1-2-3+3/3.4*(3.2+1)-4+5.5') #匹配所有小数
# JG=re.findall('\-?\d+\.\d*|(\-?\d+)','1-2-3+3/3.4*(3.2+1)-4+5.5') #匹配所有 整数
JG=re.findall('\-?\d+\.?\d*','1-2-3+3/3.4*(3.2+1)-4+5.5')#匹配所有数字

 

 

 

 

#############re.search

用grep 进行打印, 多个 关键字的时候 gourp()  表示 匹配所有,  gourp(1) 表示匹配第一个

JG=re.search('e','alex make love).group()
找到第一个


JG=re.search('al(e)x\smak(e)','alex make love').group()
匹配出alex make

JG=re.search('al(e)x\smak(e)','alex make love').group(1)
匹配出第一个e ,gourp2 匹配出第二个e

 

 

#########re.match

match等search匹配增加一个开头符号 ^

 

 

#############re.split

 

JG=re.split('[ab]','abcd')
先用a分割,再用b分割 最后结果是俩个空 和'cd'

 

##############re.sub

替换功能

指定位置 然后 后面通过位置符号  改变顺序

# JG='alex make  love'
# print (re.sub('^(\w+)(\s)(\w+)(\s)(\w+)$',r'\5\2\3\4\1'),JG)
# A=re.sub('^(\w+)(\s)(\w+)(\s)(\w+)',r'\5\2\3\4\1','alex make love')
# A=re.sub('^(\w+)([^\w]+)(\w+)([^\w]+)(\w+)',r'\5\2\3\4\1','alex " \ + = make ---/== love')
# print (A)
# print (re.findall('a'),JG)

 

posted @ 2017-06-06 06:40  昂达达  阅读(240)  评论(1编辑  收藏  举报