I use Regex Coach (free) to help me with tough regular expressions.
http://www.weitz.de/regex-coach/The Regex Coach is a graphical application for Linux and Windows which can be used to experiment with (Perl-compatible) regular expressions interactively. It has the following features:
* It shows whether a regular expression matches a particular target string.
* It can also show which parts of the target string correspond to captured register groups or to arbitrary parts of the regular expression.
* It can "walk" through the target string one match at a time.
* It can simulate Perl's split and s/// (substitution) operators.
* It tries to describe the regular expression in plain English.
* It can show a graphical representation of the regular expression's parse tree.
* It can single-step through the matching process as performed by the regex engine.
* Everything happens in "real time", i.e. as soon as you make a change somewhere in the application all other parts are instantly updated.