python 正则表达式匹配,日期匹配文件
根据日期来匹配文件,将符合规则的列出来,输入参数20120701
data=20120701
pattern=re.compile(r'data') --匹配规则 --这个地方如何写
match=pattern.findall(文件列表)
if match:
print 符合规则的文件
文件列表中的文件示例(mm11280020120701.txt,mg20120701.txt,system112720120701)
[解决办法]
#!/usr/bin/python
# -*- coding: utf-8 -*-
"""
http://topic.csdn.net/u/20120724/16/ffe1f14c-4e61-40c3-aa98-473c92c0421f.html?5433
"""
import os;
import re;
#inputList = [ "mm11280020120701.txt", "mg20120701.txt","system112720120701"];
fileList = "mm11280020120701.txt,mg20120701.txt,system112720120701"
#如果你确保整个文件名中,只有你的日期带数字,那么可以写为:
#dataPattern = r"[^\d]*\d+[^\d]*";
dataPattern = r"\d+";
pattern = re.compile(dataPattern); # --匹配规则 --这个地方如何写
matchedList = pattern.findall(fileList);
if matchedList:
print "matchedList=",matchedList;#matchedList= ['11280020120701', '20120701', '112720120701']
pattern=re.compile(r'20120701')
#! /usr/bin/env python3
# -*- coding: utf-8 -*-
import re
flist = ['123.txt', 'hlof124.c', 'yes123.txt', '123', 'no123',
'just_is_1_2.cpp']
date = input('input the date: ')
pattern = re.compile(r'.*' + date + '.*')
for x in flist:
match = pattern.search(x)
#print(x, match)
if match:
print(x)