in reply to pattern matching
Just to add to the resources other monks suggested:
The best way to learn is to learn by example and practice. First, take a good look at Cookbook's Regex Grabbag - it is a terrific resource. Make sure you understand each and every one of the regexes there. Feel free to ask here if you don't.
Once you master that, just try to solve problems and apply regexes when needed... If you run into problems, feel free to ask.