小编roc*_*ock的帖子

re.findall('(ab|cd)', string) vs re.findall('(ab|cd)+', string)

在 Python 正则表达式中,我遇到了这个奇异的问题。你能说明re.findall('(ab|cd)', string)和之间的区别re.findall('(ab|cd)+', string)吗?

import re

string = 'abcdla'
result = re.findall('(ab|cd)', string)
result2 = re.findall('(ab|cd)+', string)
print(result)
print(result2)
Run Code Online (Sandbox Code Playgroud)

实际输出为:

['ab', 'cd']
['cd']
Run Code Online (Sandbox Code Playgroud)

我很困惑为什么第二个结果也不包含'ab'

python regex

18
推荐指数
2
解决办法
778
查看次数

标签 统计

python ×1

regex ×1