
#!/usr/bin/perl
POSIX qw(strftime);
my $time = strftime("%YT%mT%d TTTT%H:%M", localtime);
print ("Todays date and time is $time\n");
Estoy un poco oxidado con las expresiones regulares, cuál sería un patrón para buscar y reemplazar el siguiente resultado. 2014T03T21TTTT15:37? Sólo me gustaría que se mostrara la fecha. Si conoce algún método que no sea regex, también sería genial.
Respuesta1
Puede usar esta expresión regular para que coincida con el patrón que proporcionó y los grupos de captura entre paréntesis para seleccionar los tres componentes que desea:
(\d{4})T(\d{2})T(\d{2}) TTTT\d{2}:\d{2}
Esto capturará el año, mes y fecha. Al hacer coincidir, puede asignarlos a tres variables usando la siguiente sintaxis:
$time =~ m/(\d{4})T(\d{2})T(\d{2}) TTTT\d{2}:\d{2}/;
my ($year, $month, $day) = ($1, $2, $3);
Hay muchas herramientas en línea que ampliarán y explicarán los patrones de expresiones regulares.