带有{}的正则表达式不起作用

2024-05-19 12:34:39 发布

您现在位置:Python中文网/ 问答频道 /正文

我试图在下面的代码中匹配2次以上的haha。但是()似乎是在分组工作。为什么不起作用?你知道吗

>>> pattern="this is a joke hahahahahaaa. I cannot stop laughing hahahaaa"
>>> print(re.findall("(ha){2,}",pattern))
['ha', 'ha']

我希望结果是:

['hahahaha', 'hahaha']

我该怎么修?你知道吗


Tags: 代码reisthispatternstopprintjoke
1条回答
网友
1楼 · 发布于 2024-05-19 12:34:39
import re

s = '"this is a joke hahahahahaaa. I cannot stop laughing hahahaaa"'
result = re.findall(r'(?:ha){2,}', s)

print(result)

输出:

['hahahahaha', 'hahaha']

  • (?:ha){2,}-匹配序列ha(包含在组(..))字面上2次或更多次{2,},但将其视为非捕获组

  • (?:...)-匹配而不捕获所包含的所有内容

相关问题 更多 >