
#!/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);
정규식 패턴을 확장하고 설명하는 온라인 도구가 많이 있습니다.