この形式で不要な文字を解析するには、どのような正規表現パターンを使用する必要がありますか?

この形式で不要な文字を解析するには、どのような正規表現パターンを使用する必要がありますか?
#!/usr/bin/perl
POSIX qw(strftime);
my $time =  strftime("%YT%mT%d TTTT%H:%M", localtime);
print ("Todays date and time is $time\n");

正規表現に少し慣れていないのですが、次の出力を検索して置換するパターンは何でしょうか。2014T03T21 TTTT15:37? 日付だけを表示したいのです。正規表現以外の方法をご存知でしたら、それも教えていただけると助かります。

答え1

この正規表現を使用して、指定したパターンと一致させ、括弧内のキャプチャ グループを使用して、必要な 3 つのコンポーネントを選択できます。 (\d{4})T(\d{2})T(\d{2}) TTTT\d{2}:\d{2}

これにより、年、月、日が取得されます。一致させる場合は、次の構文を使用してこれらを 3 つの変数に割り当てることができます。

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

正規表現パターンを拡張して説明するオンライン ツールは数多くあります。

関連情報