我在创建用于检查日期的正则表达式时出现问题,如下所示:
我需要在perl中创建它,但它对我来说完全是新的。有任何建议如何编写以及如何使用“IF”条件?
答案 0 :(得分:3)
您可以尝试模块Regexp::Common::time
。
use Regexp::Common qw(time);
my $str = "2017-07-12 14:41:56.784";
print "Time Gentlemen" if $str =~ m/^$RE{time}{iso}\z/ ;
Regexp::Common
模块使各种事物的正则表达式更容易使用,并且可能更不容易出错。 有助于牢记JWZ关于正则表达式的臭名昭着的caveat - 但使用perl和Regexp::Common
可以让人保持冷静并继续前进。
答案 1 :(得分:0)
无需包含任何模块,
要匹配任何日期时间,请执行以下操作:2017-07-12 14:41:56.784
例如"2017-07-12 14:41:56.784"
$str="2017-07-12 14:41:56.784";
if($str =~ /[1-9]{1}[0-9]{3}\-[0-9]{2}\-[0-9]{2} [0-9]{2}:[0-9]{2}:[0-9]{2}\.[0-9]{3}/)
{
print "match found";
}