$re = '/input.*(?<=name=[\'|"])([\w]+)/';
$str = '<form method="post" action="">
<input type="hidden" name="produto1" value="teste1">
<input type="hidden" name=\'produto2\' value="teste2">
<input name="produto3" type="hidden" value="teste3">
<input type="hidden" name=\'produto4\' value="teste4">
<input type="hidden" name="produto5" value="teste5">
<input type="submit" value="enviar">
</form>';
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