$re = '/\d{2} de ((Jan|Fever)eiro|(Març|Mai)o|Abril|Ju[ln]ho|Agosto|(Setem|Outu|Novem|Dezem)bro) de \d{4}.+\d{2}:\d{2}:\d{2}/m';
$str = '17 de Janeiro de 2008 às 11:35:04
17 de Fevereiro de 2008 às 11:35:04
17 de Março de 2008 às 11:35:04
17 de Abril de 2008 às 11:35:04
17 de Maio de 2008 às 11:35:04
17 de Junho de 2008 às 11:35:04
17 de Julho de 2008 às 11:35:04
17 de Agosto de 2008 às 11:35:04
17 de Setembro de 2008 às 11:35:04
17 de Outubro de 2008 às 11:35:04
17 de Novembro de 2008 às 11:35:04
17 de Dezembro de 2008 às 11:35:04
17 de mêsInválido de 2008 às 11:35:04
';
preg_match_all($re, $str, $matches, PREG_SET_ORDER, 0);
// Print the entire match result
var_dump($matches);
Please keep in mind that these code samples are automatically generated and are not guaranteed to work. If you find any syntax errors, feel free to submit a bug report. For a full regex reference for PHP, please visit: http://php.net/manual/en/ref.pcre.php