Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/perl/11.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Regex 用于在perl中检查日期格式的正则表达式_Regex_Perl_Date - Fatal编程技术网

Regex 用于在perl中检查日期格式的正则表达式

Regex 用于在perl中检查日期格式的正则表达式,regex,perl,date,Regex,Perl,Date,我在创建用于检查日期的正则表达式时遇到问题,如下所示: 2017-07-12 14:41:56.784 我需要用perl创建它,但它对我来说是全新的。任何关于如何编写它以及如何在“如果”条件下使用它的建议?您可以尝试该模块 这些模块使得对所有类型的事情使用正则表达式变得更加容易,并且可能不那么容易出错。记住JWZ关于正则表达式的臭名昭著是很有帮助的,但是使用perl和Regexp::Common可以让人保持冷静并继续下去 无需包括任何模块, 要匹配任何类似这样的日期时间:2017-07-12 1

我在创建用于检查日期的正则表达式时遇到问题,如下所示:

2017-07-12 14:41:56.784 我需要用perl创建它,但它对我来说是全新的。任何关于如何编写它以及如何在“如果”条件下使用它的建议?

您可以尝试该模块


这些模块使得对所有类型的事情使用正则表达式变得更加容易,并且可能不那么容易出错。记住JWZ关于正则表达式的臭名昭著是很有帮助的,但是使用perl和
Regexp::Common
可以让人保持冷静并继续下去

无需包括任何模块, 要匹配任何类似这样的日期时间:
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";
}
例如
“2017-07-12 14:41:56.784”


首先请开始阅读。到现在为止你都试过什么?@ssr1012:在这种情况下,你指向TT2文档的链接似乎并不特别有用。众所周知,Perl教程的教程点非常糟糕(例如,在本例中,它浏览了一整页关于日期和时间的内容,但一次也没有提到Time::Piece或DateTime)。请不要链接到它。@ssr1012:然而,一周后这些链接仍然存在:-(Regexp::Common regex没有锚定;您应该使它
m/^$RE{time}{iso}\z/
好点-更改了答案以反映您的评论。谢谢。
$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";
}