我必須使用什麼正規表示式模式來解析這種格式中不需要的字元?

我必須使用什麼正規表示式模式來解析這種格式中不需要的字元?
#!/usr/bin/perl
POSIX qw(strftime);
my $time =  strftime("%YT%mT%d TTTT%H:%M", localtime);
print ("Todays date and time is $time\n");

我對正規表示式有點生疏,搜尋和取代以下輸出的模式是什麼。 2014T03T21TTTT15:37?我只想顯示日期。如果您知道正規表示式以外的方法,那就太好了。

答案1

您可以使用此正規表示式來匹配您給出的模式,並使用括號中的捕獲組來挑選您想要的三個元件: (\d{4})T(\d{2})T(\d{2}) TTTT\d{2}:\d{2}

這將捕獲年、月和日期。配對時,您可以使用以下語法將它們指派給三個變數:

$time =~ m/(\d{4})T(\d{2})T(\d{2}) TTTT\d{2}:\d{2}/;
my ($year, $month, $day) = ($1, $2, $3);

有許多線上工具可以擴展和解釋正規表示式模式。

相關內容