【发布时间】:2011-07-25 13:52:41
【问题描述】:
我想从日期格式字符串生成 glob 模式,例如
%Y-%m-%d
应该变成
[0-9][0-9][0-9][0-9]-[0-9][0-9]-[0-9][0-9]
虽然
%C (e.g., Sat Nov 19 21:05:57 1994)
应该变成
[A-Z][a-z][a-z] [A-Z][a-z][a-z] [0-9][0-9] [0-9][0-9]:[0-9][0-9]:[0-9][0-9] [0-9][0-9][0-9][0-9]
我想知道,如果这样的东西已经存在。
【问题讨论】:
-
从什么时候开始日期可以匹配“9999-99-99”?
-
Perl(和 POSIX/Unix)有专门用于解析日期和时间的函数是有原因的。使用 Time::Piece->strptime 而不是 glob。正则表达式比 glob 更好,因为 glob 的限制会给你一个非常大的字符串来匹配。
-
@Zaid:我不想验证日期本身,而是找到像“logfile.log.2011-07-26”这样的文件,而追加日期的方式可以通过日期来配置格式化字符串。也许我应该多解释一下这个场景。
-
@MkV:是的,你是对的。我有点拘泥于全局,因为我正在调整现有代码。但是,是的,我可以只读取目录,然后使用正则表达式匹配文件。谢谢。