python - 正则表达式模式完全匹配 n 次
问题描述
假设我有一个模式 *123*234*567,它恰好重复了 3 次(比如 * 和 (.*?) 的组合。
如何编写模式只能匹配 3 次而不是更多或更少的正则表达式?
解决方案
您可以使用非捕获组并查找3
它的连续匹配项。不确定要在星号之间匹配什么,我假设为数字和字母数字字符:
s = '*42*998 *123*234*567 *123*123'
re.findall(r'(?:\*(?:\d+|\w+)+){3}', s)
# '*123*234*567']
推荐阅读
- php - PHP json_decode 不显示数组中的所有数据
- python - 在二维情况下使用 numpy.isin
- websocket - Tornado.WebSocketHandler.on_message 是否保证收到完整的消息,仅此而已?
- html - 固定尺寸物化轮播
- reactjs - /单击浏览器返回按钮时未定义
- php - 多维关联数组中的PHP array_filter
- java - 蜡染将 SVG 转换为 JPEG
- laravel - class Str not 丢失但我不知道如何定义它
- jenkins - 构建 Jenkins Infra-As-Code 和屏蔽凭证
- firebase - Firebase + Ionic - 发送后删除推送通知