匹配0次1次或者无限次
关于?
: 并不是?
一出现就是非贪婪模式,?
放在次数限定词之后才是非贪婪模式
非贪婪:常用于去重操作
数量词
需要明白作用的是上个字符, 只能指定单个字符出现的次数
*
: 匹配0次或无限多次+
: 匹配1次或无限多次?
: 匹配0次或者1次
import re
a = 'pytho0python1pypythonn2'
r = re.findall('python*',a)
print(r) # ['pyt', 'hon', 'jav', 'php']
r = re.findall('python+',a)
print(r)
# ?匹配0次或1次
r = re.findall('python?',a)
print(r) # ['pytho', 'python', 'python']
r = re.findall('python{1,2}',a)
print(r) #['python', 'pythonn']
# ?放在数量词之后,就变成了非贪婪模式,只取下限
r = re.findall('python{1,2}?',a)
print(r) #['python', 'python']