gpt4 book ai didi

python - 正则表达式字符串和子字符串

转载 作者:太空狗 更新时间:2023-10-29 18:30:14 26 4
gpt4 key购买 nike

我有一个字符串'aabaacaba'。从左边开始,我试图获取所有大小 >=2 的子字符串,它们出现在字符串的后面。例如,aa 再次出现在字符串中,ab 也是如此。

我写了下面的正则表达式代码:

re.findall(r'([a-z]{2,})(?:[a-z]*)(?:\1)', 'aabaacaba')

然后我得到 ['aa'] 作为答案。正则表达式缺少 ab 模式。我认为这是因为字符重叠。请提出一个解决方案,以便可以修复表达式。谢谢你。

最佳答案

您可以使用 look-ahead assertion它不消耗匹配的字符串:

>>> re.findall(r'(?=([a-z]{2,})(?=.*\1))', 'aabaacaba')
['aa', 'aba', 'ba']

注意:匹配的是 aba 而不是 ab。 (尽量匹配)

关于python - 正则表达式字符串和子字符串,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43959719/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com