匹配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']

results matching ""

    No results matching ""