我有一个从字符串中提取日期部分的用例,如下所示:
Job-2023-04-14.17.14.34
我需要输出为2023-04-14
。我尝试了下面的代码:
# Extract the date part from the string using a regular expression.
my $date = $string =~ /\d{4}-\d{2}-\d{2}/;
# Check if the date part is defined.
if (defined $date) {
# Print the date part.
print "$date\n";
} else {
# The date part is not defined.
print "The string does not contain a valid date.\n";
}
但是,它打印出1。
2条答案
按热度按时间yyhrrdl81#
在正则表达式中使用捕获括号,并在
$date
周围使用括号来强制列表上下文:输出量:
标签:Perl Idioms Explained - @ary = $str =~ m/(stuff)/g
9njqaruj2#
使用regex的另一种选择是使用能够解析日期的库,如
DateTime::Format::Strptime
:输出量: