I see many answers to this already, but they all seem to be about the merits of knowing regular expressions as a tool in the programmer's toolbox.
I much prefer to think of regular expressions as the kind of knowledge that expands one's understanding of how computers work. Once someone truly gets what a regular language is, and that you can express it with three simple operations, I believe it gives them something beyond simply a tool for validating simple strings.
They become able to better understand parsing in general, which is useful to just about every kind of programming, and better understand how the tools we use on a regular basis (compiler, editor, browser, etc.) work.
The practical benefits of using regular expressions is of course enormous. Even if you don't "program" with them - I use regular expressions doing find/replace in my editor all the time, and measure how much more productive they make me.
So, while it is not necessary, I think it is one of the first tools a programmer should learn.