Of course, the ultimate tool is RegexBuddy by Jan Goyvaerts. I personally don’t have it at the moment, but I surely need to get it soon. It supports various languages, gives you detailed explanation on each part, you can step through the matching process …
But if you use regex not often and do only small ones, you should be fine with free online regular expression testers. And it is important that you test your regex, extract use cases from your real data and add also test data that you don’t want to match!
Online regex testers are a great help while developing a regular expression. As long as you do not want to use features they don’t support, they visualize your match and show you the content of the capturing groups instantly.
Critical features, you should test in your real language, are mainly lookbehind assertions and Unicode features like Unicode properties.
My favourites are
Regexr is based on ActionScript 3, that means it implements regex after the ECMA-262 standard. See regular-expressions.info for more info. (I am not sure if the standard has changed or Regexr has changed, because Regexr supports simple look behind assertions, but ECMA-262 does not).
Matches are highlighted and the content of the capturing groups is shown when the mouse hovers over the match, it also allows to test replacements and allows to create permalinks to your tested regex (to share it easily on SO ;))
Rubular is based on Ruby. See regular-expressions.info for more info. Matches are highlighted and the matches and the content of the according capturing groups are shown in a list. The regex is processed on a server, therefore the result is not shown instantly but quite quick the most of the time. It allows also to create permalinks to your tested regex
Other online testers are (I use them not often, but try them to find your personal favorite)
- Regex Storm .NET
- My Regex Tester
- Regular Expression Test Tool
- REGex TESTER
And at last, this is not tool for testing, you can give it a regex and it tells you what this is doing: