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)