神的手表,中央电大形成性测评系统,真爱如血 第五季
re.findall(正则匹配的格式,匹配的对象)
只匹配开头在多行模式中匹配每一行的开头
类似字符串内置方法里面的startswith
import re s = '''aaaa,123213123,____,杨aaaaa''' print(re.findall('^aaaa',s)) #['aaaa']
匹配的格式a或者b
import re s = '''aaaa,123213123,____,杨aaaaa''' print(re.findall('123|aaaaa',s)) #['123', '123', 'aaaaa']
匹配的格式a或者b如果ab为多个值他会把里面的东西打散
import re s = '''aaaa,123213123,____,杨aaaaa''' print(re.findall('[123,aaaaa]',s)) #['a', 'a', 'a', 'a', ',', '1', '2', '3', '2', '1', '3', '1', '2', '3', ',', ',', 'a', 'a', 'a', 'a', 'a']
匹配已a 结尾的
类似字符串内置方法里面的endswith
import re s = '''aaaa,123213123,____,杨aaaaa''' print(re.findall('杨$',s)) #[] print(re.findall('杨aaaaa$',s))
.代表任意字符
import re s = '''aaaa,123213123,____,杨aaaaa''' print(re.findall('杨...',s)) # ['杨aaa']
代表大括号前字符n个
import re s = '''aaaa,123213123,____,杨aaaaa''' print(re.findall('a{5}',s)) #等效于'aaaaa' #['aaaaa']
代表前面字符0-无穷大个
import re s = '''aaaa,123213123,____,杨aaaaa''' print(re.findall('a*',s)) #取到一个a后他不会停止会接着往后找,a为0个他也取 ['aaaa', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', '', 'aaaaa', '']
代表前面字符1-无穷大个
import re s = '''aaaa,123213123,____,杨aaaaa''' print(re.findall('a+',s)) #取到一个a后他不会停止会接着往后找 ['aaaa', 'aaaaa']
代表a字符0-1个
import re s = '''aaaa,123213123,____,杨aaaaa''' print(re.findall('aaa',s)) print(re.findall('aaa?',s)) ['aaa', 'aaa'] ['aaa', 'aaa', 'aa']
一个\接某个类型代表一个字符
前面值是+或者*的时候?匹配内容a结束
import re s = '''aaaa,123213123,____,杨aaaaa''' print(re.findall('aa+?a',s)) ['aaa', 'aaa']
12.(),括号里面什么到时候取什么
re.s的作用:
不使用re.s时,则只在每一行内进行匹配,如果存在一行没有,就换下一行重新开始,使用re.s参数以后,正则表达式会将这个字符串看做整体,在整体中进行匹配
import re a = """sdhellolsdlfsdfiooe: yy988989pythonafsf""" b = re.findall('hello(.*?)python',a) c = re.findall('hello(.*?)python',a,re.s) print (b) print(c) 输出结果: b:[] c:['lsdlfsdfiooe:\nyy988989']
# match 和 search的区别,mathch从开头开始匹配找一个,search搜索所有找第一个
定义某种搜索格式 res1 = re.compile('\d+') res1.findall(查找对象)等同于re.findall('\d+',查找对象)
就是字符串的split方法,区别是可以使用正则表达式去替换
就是字符串的replace方法,区别是可以使用正则表达式去替换
import re s = '猪八戒的媳妇是1高翠兰,孙悟空的媳妇是2白骨精,唐僧的媳妇是3女儿国王,沙悟净6没有媳妇(py9的学生们)' print(re.sub('\d','',s)) print(re.subn('\d','',s)) # 除了会修改内容,还会返回修改了多少次 猪八戒的媳妇是高翠兰,孙悟空的媳妇是白骨精,唐僧的媳妇是女儿国王,沙悟净没有媳妇(py的学生们) ('猪八戒的媳妇是高翠兰,孙悟空的媳妇是白骨精,唐僧的媳妇是女儿国王,沙悟净没有媳妇(py的学生们)', 5)
如对本文有疑问,请在下面进行留言讨论,广大热心网友会与你互动!! 点击进行留言回复
新手学习Python2和Python3中print不同的用法
Python基于os.environ从windows获取环境变量
网友评论