继上篇
https://blog.csdn.net/weixin_42625143/article/details/95330557
“{m}” :匹配字符串出现m次
>>> pat = re.compile( [op]{
2} ) #o或p出现2次
>>> pat.search( abcooapp ).group() #匹配第一次出现的字符串,o比p先出现
oo
>>> pat.findall( abcooapp ) #匹配出现的所有字符串,列表形式返回
[ oo , pp ]
“{m,n}” :匹配字符串出现m到n次
>>> pat = re.compile( [op]{
2,4} ) #o或则p出现2到4次
>>> pat.match( pppabcooapp ).group() #匹配开头
ppp
>>> pat.search( pppabcooapp ).group() #匹配第一次出现
ppp
>>> pat.findall( pppabcooapp ) #匹配所有
[ ppp , oo , pp ]
.group() #匹配第一次出现
边界
“^” :匹配字符串开头或行头
>>> pat = re.compile( ^[abc] ) #开头是a、b、c中的任意一个
>>> pat.search( defabc ).group()
>>> pat.match( defabc ).group() #均找不到
>>> pat.findall( defabc )
[]
>>> pat.search( adefabc ).group()
a
>>> pat.match( adefabc ).group() #开头是a、b、c中的任意一个
a
>>> pat.findall( adefabc )
[ a ]
>>> pat = re.compile( ^[abc]+ ) #开头是a、b、c中的任意一个的一次或则多次,贪婪:匹配多个
>>> pat.findall( cbadefab )
[ cba ]
>>> pat = re.compile(r ^[abc]+? ) #开头是a、b、c中的任意一个的一次或则多次,非贪婪:匹配一个
>>> pat.findall( cbadefab )
[ c ]
“$” :匹配字符串结尾或则行尾
>>> pat = re.compile( [abc]$ )
>>> pat.match( adefAbc ).group() #match匹配的是字符串开头,所以查找$的时,总是返回None
>>> pat.search( adefAbc ).group() #结尾是a、b、c中的任意一个
c
>>> pat.findall( adefAbc )
[ c ]
>>> pat =