python - 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
解决方案
使用qq=re.compile(r'^a+bc*$')
. ^
意味着在开始时匹配并且意味着$
在结束时匹配。
您希望将模式匹配到完整的字符串,而不是它的一部分。这就是为什么你需要^
and$
在这种情况下
推荐阅读
- c++ - 是否正确/值得将 __attribute__((const)) 放在访问全局内存的函数上也完全是输入的函数?
- r - 如何在ggplot中制作条形图?
- javascript - 我该如何为此编写javascript和html代码?
- image - 处理:高效创建均匀网格
- java - 使用并发 API 时是否需要使用同步
- c# - Unity Colliders 无法按预期工作 - 我通过它或检测到没有触摸的碰撞
- javascript - 在充当基本命令外壳的节点中启动子进程的最佳方法?
- android - 通过 Cloud Messaging 禁用 Firebase 云消息传递到托盘
- python - 我想在 Telegram 上向我之前没有交谈过的新聊天发送自动回复
- ios - CLLocationManagerDelegate 方法不运行