正则match
match:从开头匹配
需要引用re 模块
1、.(除过回车以外的所有字符)
>>> import re>>> re.match(r".","abc")#.(除过回车以外的所有字符) #结果: <_sre.SRE_Match object; span=(0, 1), match='a'>
>>> re.match(r"..","abc"))#.(除过回车以外的所有字符)<_sre.SRE_Match object; span=(0, 2), match='ab'>
有一部分匹配失败,结果是0
>>> re.match(r"....","abc")>>> print(re.match(r"....","abc"))None
加,re.DOTALL能匹配到结果
>>> print(re.match(r"..","a\nc",re.DOTALL))<_sre.SRE_Match object; span=(0, 2), match='a\n'>
匹配所有
2、匹配.
>>> print(re.match(r"\.",".a\nc"))<_sre.SRE_Match object; span=(0, 1), match='.'>
3、匹配\\
>>> print(re.match(r"\\","\\a\nc"))<_sre.SRE_Match object; span=(0, 1), match='\\'>
4、或的关系:[]
>>> print(re.match(r"[abc]","axxx"))<_sre.SRE_Match object; span=(0, 1), match='a'>>>> print(re.match(r"[abc]","bxxx"))<_sre.SRE_Match object; span=(0, 1), match='b'>>>> print(re.match(r"[abc]","cxxx"))<_sre.SRE_Match object; span=(0, 1), match='c'>
5、非:^
不能是[]里的内容
#^在[]里面表示取非,^在外面表示从开头匹配
>>> print(re.match(r"[^abc]","hxxx"))<_sre.SRE_Match object; span=(0, 1), match='h'>
#^在外面表示从开头匹配
>>> print(re.search(r"abc","sssssabc"))<_sre.SRE_Match object; span=(5, 8), match='abc'>
>>> print(re.search(r"^abc","sssssabc"))None
6、*:匹配0个或多个
>>> print(re.match(r"\d*","123"))#*匹配0个或多个<_sre.SRE_Match object; span=(0, 3), match='123'>>>> print(re.match(r"\d*","a123"))<_sre.SRE_Match object; span=(0, 0), match=''>
7、*:匹配1个或多个
>>> print(re.match(r"\d+","123"))
<_sre.SRE_Match object; span=(0, 3), match='123'>
8、?:限制贪婪
>>> print(re.match(r"\d*?","123"))#*是0个或多个<_sre.SRE_Match object; span=(0, 0), match=''>>>> print(re.match(r"\d+?","123"))#+是1个或多个<_sre.SRE_Match object; span=(0, 1), match='1'>