老师 ,你好。正则表达式问题

来源:10-9 组

森林木一

2017-10-24

import re

a = 'adsfasdPythonPythonPythonPythonPythonsdfsdfa'

r = re.findall('(Python){1,}',a)

w = re.findall('Python{1,}?',a)

print(r)

print(w)

#对于打印出的结果不是很懂


写回答

1回答

runzx

2017-10-24

r 是重复(Python)且贪婪模式,所以 匹配'PythonPythonPythonPythonPython'了这个,返回的分组为()里的python,所以结果是[' python']

w 只是'n'字符重复1次以上且非贪婪,所以匹配了5个'Python',结果为['Python','Python','Python','Python','Python']

0
3
runzx
回复
慕函数7353421
这就是贪婪模式的体现,顾名思义,贪婪就是尽可能多的匹配符合要求的字符串。 而贪婪模式是系统默认的。
2017-10-25
共3条回复

Python3.8系统入门+进阶 (程序员必备第二语言)

语法精讲/配套练习+思考题/原生爬虫实战

14446 学习 · 4438 问题

查看课程