首页 > 解决方案 > python 3 正则表达式:匹配一个字符一次

问题描述

一个句子需要包含 1 个或多个“a”实例,恰好 1 个“b”实例和 0 个或多个“c” a+bc* 实例很好,但当我有多个 b 时,它也可以工作,比如 'abbc',这是不应该的。当只有 1 'b' 时,我如何让它工作

这是我的完整代码

import re
qq = re.compile('a+bc*')
if qq.match('abb') is not None:
    print("True")
else:
    print('False')

这应该产生 False

标签: pythonregexpython-3.x

解决方案


使用qq=re.compile(r'^a+bc*$'). ^意味着在开始时匹配并且意味着$在结束时匹配。

您希望将模式匹配到完整的字符串,而不是它的一部分。这就是为什么你需要^and$在这种情况下


推荐阅读