【发布时间】:2021-08-28 02:44:39
【问题描述】:
我有一个列表,其中包含镜像文件名的项目。我只想过滤仅包含数字的名称。我似乎没有得到它的权利。即使匹配一个数字似乎也不起作用。是我做的不对吗?任何线索或建议将不胜感激。
代码示例:
import re
pattern = r"^\d.+[.]"
pattern2 = r'\d*'
a = ["1000.mp4", "test.mp4", "110082.mp4", "829873.m4a"]
for i in a:
if re.match(i, pattern):
print(i)
【问题讨论】:
-
模式应该是
re.match的第一个参数。请参阅help(re.match)了解更多信息。 -
你不需要正则表达式。 Python 字符串有
isdigit()。您只需要检查没有扩展名的文件名 -
另外,
re.match已经从输入开始匹配。这种方法的命名不好,所以我总是使用re.search来代替锚点。