请稍等 ...
×

采纳答案成功!

向帮助你的同学说点啥吧!感谢那些助人为乐的人

正则表达式匹配方向

老师我有个问题,您说正则的匹配是从右往左。比如:

str = 'abcdefghijklmn'

res = re.match('[a-zA-Z]{2,6}',str)

print(res.group())

res = re.findall('[a-zA-Z]{2,6}',str)

print(res)

的输出结果是:

abcdef
['abcdef', 'ghijkl', 'mn']

在这个贪婪匹配中似乎看起是从左往右的匹配。
这个应该怎么理解呢?

正在回答

1回答

你这个不是贪婪的模式,贪婪匹配的是模式是* https://img1.sycdn.imooc.com//szimg/5bb591420001009e07220518.jpg 你看看我这个例子,首先在*左边的值会从最左边开始匹配, *右边的表达式则会从字符串的最右侧开始匹配,所有匹配到的字符串是最长的,所有才叫贪婪, 因为他会从左右两边开始找到最长的字符串

0 回复 有任何疑惑可以回复我~
问题已解决,确定采纳
还有疑问,暂不采纳
意见反馈 帮助中心 APP下载
官方微信