为什么这个正则表达式({m, n})不管用?

3 投票
6 回答
640 浏览
提问于 2025-04-16 11:42

我正在学习正则表达式,现在在研究重复的部分:{m, n}

我有这段代码:

>>> p = re.compile('a{1}b{1, 3}')
>>> p.match('ab')
>>> p.match('abbb')

你可以看到这两个字符串都没有匹配上这个模式。为什么会这样呢?

6 个回答

4

去掉b里面多余的空格。

把:

p = re.compile('a{1}b{1, 3}')

改成:

p = re.compile('a{1}b{1,3}')
                        ^   # no whitespace

这样就没问题了。

6

试试这个

p = re.compile('a{1}b{1,3}')

...注意空格哦。

10

在逗号后面不要加空格,而且{1}这个部分是多余的。

撰写回答