python - 正则表达式匹配一个包含任何两位整数的特定字符串?
问题描述
我有一个看起来像这样的文件名列表:
red.t<0 padded int>z.white.blue<0 padded int>.ab00.txt2
例如:
red.t01z.white.blue12.ab00.txt2
red.t02z.white.blue45.ab00.txt2
red.t03z.white.blue09.ab00.txt2
我想匹配这个序列,对于任何两位数。接近尾声是恒定的00
,它不应该与那里的任何其他值匹配。即,这不匹配red.t03z.white.blue09.ab01.txt2
。
我试过red.t[0-9]*z.white.blue[0-9]*.ab00.txt
了,但这只有当我有第一个时才有效[0-9]*
,第二个使它不再匹配。解决方案是什么?
解决方案
您可以使用锚来断言字符串的开头和结尾,转义点以匹配它,并使用量词0-9[{2}
匹配 2 位数字。
^red\.t[0-9]{2}z\.white\.blue[0-9]{2}\.ab00\.txt2$
推荐阅读
- python - 将 Django 频道添加到 DRF
- ios - 统计用户浏览量 (SwiftUI)
- github - 这些天在 github 中 repos 的 ssh URL 在哪里?
- c# - 根据引导形式中的条件使文本变灰
- sql - “sp_OACreate”是否创建唯一的输出对象?
- sql - 独特群聊的 SQL 结构
- compiler-construction - 扫描 EOF 时从 flex 得到神奇的错误
- windows - 使用 scp 功能“没有这样的文件或目录”传输失败
- node.js - npm install express 警告没有描述没有存储库没有许可证
- javascript - 在滑动器中显示/隐藏元素