I wrote the following code (yes it does work) and was wondering why I don't need to escape the '<' and '>' characters inside the pattern since they are considered 'special' characters by the php manual.
http://www.php.net/manual/en/function.preg-quote.php
var_dump(preg_match('/<[A-Za-z][A-Za-z0-9]*>/', "<html>", $matches));
echo "<pre>";
var_dump(htmlentities($matches[0]));
echo "</pre>";
output:
int(1)
string(12) "<html>"