我需要一种方法来搜索包含有效整个或部分日期时间的任何字符串,并根据strptime格式从该字符串中提取它。
例如,如果我有:
%b%d
如何搜索此字符串:
"asdbsdjwebzadjabsdmwAug20asdfswelasdsvclasdk"
并从中获取“8月20日”的日期时间表示?
是否有任何模块允许我将strptime格式转换为正则表达式并像这样搜索它?
任何信息都会有所帮助。谢谢!
答案 0 :(得分:3)
您可以使用Regexp::Common::time:
#!/usr/bin/perl
use strict;
use warnings;
use feature 'say';
use Regexp::Common qw(time);
my $str = "asdbsdjwebzadjabsdmwAug20asdfswelasdsvclasdk";
say "matches" if $str =~ $RE{time}{strftime}{-pat => '%b%d'};