Regex findall 匹配字符串中的字母 "a "到 "z "和另一个字符。

问题描述 投票:0回答:1

结果应该返回包含字母a到c和另一个字符的列表。

文本是aabbcc,我希望它能返回['a', 'a', 'b', 'b', 'c']。

import re
text = 'aabbcc'
result = re.findall(r'([a-c]).', text)
print(result)

但它返回['a', 'b', 'c']

python python-3.x regex findall re
1个回答
1
投票

使用一个非捕获性的 lookahead ([a-z](?=.)). 这与你的基本相同,但没有捕获下一个字符。


1
投票

要使它按照你的方式工作,只需要导入 regex 而不是 re 模块,并使用 overlapped 参数。

import regex
text = 'aabbcc'
result = regex.findall(r'([a-c]).', text, overlapped = True)
print(result)

打印。

['a', 'a', 'b', 'b', 'c']

否则,在评论和其他答案中提到的正面展望是一个选项。

© www.soinside.com 2019 - 2024. All rights reserved.