python - 正则表达式-特定字符串与其中任意两位整数的匹配?

标签 python regex

我有一个如下所示的文件名列表: 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]* 时才有效在那里,第二个使其不再匹配。有什么办法解决这个问题吗?

最佳答案

您可以使用 anchor 来断言字符串的开头和结尾,对点进行转义以按字面意思进行匹配,并使用量词 0-9[{2} 来匹配 2 位数字。

^red\.t[0-9]{2}z\.white\.blue[0-9]{2}\.ab00\.txt2$

Regex demo

关于python - 正则表达式-特定字符串与其中任意两位整数的匹配?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/60662107/

相关文章:

python - 将参数传递给在 AWS Fargate 上的 Docker 容器中运行的 Python

python - Ubuntu从14.10更新到16.04后,为什么python找不到libavcodec.so.54?

python - 使用 python 使用 bcc 发送邮件

PHP json_decode 一个 json_encoded 字符串

C# 将正则表达式匹配插入数据表

php - 从 JSON 字符串中删除所有不必要的空格(在 PHP 中)

python - 使用正则表达式在 Python 中的两个模式之间匹配行

python - Matplotlib:轴刻度数字格式 - 工程符号

python - 我怎样才能让 pandas 时间戳抵消一定的月数?

java - java正则表达式中的组问题