
#!/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);
正規表現パターンを拡張して説明するオンライン ツールは数多くあります。