python findall()方法无法识别带有(){}的正则表达式

时间:2018-07-25 11:49:29

标签: python regex pattern-matching findall

我正在正则表达式部分学习findall()方法。我有一个找不到解决方案和解释的问题。 findall()方法无法正确识别正则表达式模式,或者无法正确识别正则表达式模式(当我使用{}指定要匹配的字符串编号时。

为明确起见,我以本书中的示例为例。这是代码:

import re
haRegex = re.compile(r'(Ha){3}')
mo = haRegex.findall('HaHaHaHaHaHa')

运行脚本时,我得到了:

['Ha', 'Ha']

但是,当我将(Ha){3}替换为HaHaHa时,我得到了

['HaHaHa', 'HaHaHa']

这是我期望的第一个脚本。

此外,该模式可与search()方法完美配合。我有

'HaHaHa'

使用group()方法。

有人知道发生了什么事吗?

0 个答案:

没有答案