我想使用正则表达式监视符合这两个要求的文件(因为我正在使用看门狗RegexMatchingEventHandler):
.bson
或.bson.gz
(又称扩展要求)结束,例如regexes = ['\.bson.?'],
2017
我想使用Regex作为字符串输入而不是完整的程序。
有人可以提供想法吗?
谢谢,
答案 0 :(得分:0)
你可以使用这样的正则表达式捕获它们:
regex = r'.*2017.*\.bson(\.gz)?$'
说明:2017年之前和之后的.*
匹配任何字符,可以重复任意次数。 (\.gz)?
指定.gz
是可选的。
演示:
In [2]: fnames = ['sdfa2017sdfa.bson', 'asdf.bson', '2017aa.bson.gz']
In [3]: filtered_files = [f for f in fnames
if re.search(r'.*2017.*\.bson(\.gz)?$', f)]
In [4]: filtered_files
Out[4]: ['sdfa2017sdfa.bson', '2017aa.bson.gz']