在python正则中的{}和*号的意义有一些不理解

新手上路,请多包涵

a = "pytho0python1pythonn2"
r = re.findall("python{1,2}",a)
r1 = re.findall("python{1,2}?",a)
r2 = re.findall("python*",a)
print(r,r1,r2)
r打印出来是 python和pythonn 为什么n会被放进去呢
r1是非贪婪我理解是打印两个python
r2 是pytho python pythonn 有点不是很理解

阅读 1.9k
1 个回答

大括号内匹配前面字符的次数,*匹配任意次数
a{1,2} 匹配字符a 一次或两次
a* 匹配字符a任意次数
a{1,2}? 只匹配字符a出现一次或两次的情况,不贪多,如 a,aa 但它不会匹配aaa

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进