This is in response to the comments and blog posts made on Jeffrey Schoolcraft's and Darren Neimke's blogs.
I have to disagree with the blanket statement that regular expressions should never, ever be used to try and match email, date, or HTML patterns. I'm almost at a loss here to even get into it, because the first thing that comes to mind is to just say "Oh come on now, seriously!" Granted the comment was left on April Fool's Day (although the server claims otherwise)... Anyway, in order to disprove the blanket statement, it is only necessary to come up with a single useful application for such expressions, preferably one for which a more code-intensive approach would not be well-suited.
Thus, regular expressions can provide 'good enough' validation to allow for most typographic errors to be caught and enhance the user experience by providing immediate feedback in scenarios where code-intensive validation is impractical. Better validation should then be performed elsewhere, usually in some middle tier business rule enforcing area.
This is the most obvious example, and one I've personally encountered many times as a consultant at different companies. I'm sure there are other scenarios where the quickness and simplicity of a regex outweighs the value of the additional accuracy that a more code intensive approach might provide. Again, it's a trade-off of what is 'good enough' and in many cases a regex will suffice even in situations where it doesn't catch every possible error.