Joseph Guadagno

Rants, Raves and other stuff about ASP.NET development.

Expresso, A .NET Regular Expression Development tool you should not be without.

A while ago I decided to implement URL Rewriting for the next version of my web site using URLRewriter.NET (http://www.urlrewriter.net).  While implementing URLRewriter was a easy task, creating the correct regular expressions, at least for me, was not.  In the past I used RegExDesigner.NET to test my regular expressions in "trial and error" sort of way. This was OK to eventually come up with a valid expression but it did not help me understand what was wrong with my regular expressions.  So I went to Google to find a new tool or web site to help.  I searched around and tried a few different Regular Expression tools for .NET, then I found Expresso, not the coffee kind but a real development tool.

This is one tool that is difficult to develop without.

What Expresso does

The Expresso interface is quite nice and simple to use.  The interface has two modes, test mode and Design Mode.  Test mode allows you to try your regular expression to see if there are any full matches, partial matches, validate the expression or run a RegEx replace. The design mode provides an interface to build your regular expression for you.

Expresso also includes a library of included common regular expressions.

Best of all Expresso is free.

Nice Features

RegEx Analyzer

The RegEx Analyzer is probably the best feature, for me at least. This breaks down your regular expression its part in plain English.

regex_analyser

The results / matches are displayed in a similar window.

Code Generation

The product will generate C# or VB.NET code for the regular expressions you create.

Saving

The product allows you to save "projects" of regular expressions, as well as a history of your tests.

Feature Summary

This list is borrowed from the home page of Expresso.

  • Still free of charge!

  • Build complex regular expressions by selecting components from a palette

  • Test expressions against real or sample input data

  • Display all matches in a tree structure, showing captured groups, and all captures within a group

  • Build replacement strings and test the match and replace functionality

  • Highlight matched text in the input data

  • Test automatically for syntax errors

  • Generate Visual Basic, C#, or C++ code

  • Save and restore data in a project file

  • Maintain and expand a library of frequently used regular expressions

  • Dramatically enhanced Analyzer

    • Analyzes and describes your regular expression in a tree structure

    • Updated continuously in a separate thread

    • Edit portions of your regular expression by selecting nodes in the Analyzer view

    • Immediate feedback on syntax errors

    • Highlight portions of your expression for partial matching

  • Rich new Builder and editing features

    • Easier to use Builder

    • Support for .NET 2.0 features like character class subtraction and new Unicode classes

    • Extensive editing capabilities via context menus in both text view and Analyzer view

    • Builder can be docked or undocked from the Main Expresso window

    • Full Undo/Redo capability

  • Additional New features

    • Line by line validation testing

    • Test the Regex.Split() method

    • Export match results to Excel, XML, etc.

    • Carriage return, line feed, and other invisible characters are visible in the search results

    • Drag and drop files and text

    • Insert arbitrary Unicode characters in sample text or regular expression

    • Code generation for the new C++/CLI syntax in addition to the old MC++

    • Code generation for Replacement String and templates for Replace(), Split(), Match() and other regex methods

    • Turn Tooltips on or off

    • Support for very long data files

    • Startup tips to guide new users

  • Comments

    Josh Korn said:

    Joseph, what first-rate luck to find this.

    Thanks very much for blogging about Expresso. It paid for itself in the first five minutes.

    Not only is it a great way to design regular expressions (after all, who can remember RE syntax on the fly?), but it's a designer and tutorial all in one.

    Nice going.

    Josh Korn

    Ottawa

    # July 21, 2008 9:56 PM
    Leave a Comment

    (required) 

    (required) 

    (optional)

    (required)