이 형식에서 원하지 않는 문자를 구문 분석하려면 어떤 정규식 패턴을 사용해야 합니까?

이 형식에서 원하지 않는 문자를 구문 분석하려면 어떤 정규식 패턴을 사용해야 합니까?
#!/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);

정규식 패턴을 확장하고 설명하는 온라인 도구가 많이 있습니다.

관련 정보