Skip to content

HTTPS clone URL

Subversion checkout URL

You can clone with HTTPS or Subversion.

Download ZIP
RegExpose - a Regular Expression engine that Exposes how it works
JavaScript C#
branch: master
Failed to load latest commit information.
.nuget
RegExpose.Api
RegExpose.Tests
RegExpose.UI
RegExpose
.gitignore
LICENSE.md
README.md
RegExpose.sln
RegExpose.sln.DotSettings
Resharper.DotSettings

README.md

RegExpose

RegExpose is a regular expression engine that exposes its inner-workings. It is comprised of two parts: the engine itself, and a UI that visually displays those inner-workings.

Usage:
// Create a regex compiler with default options.
RegexCompiler compiler = new RegexCompiler();

// Compile a regex that searches for "foo" followed by an optional "bar".
Regex regex = compiler.Compile("foo(?:bar)?");

// Create an engine that parses "foobar".
RegexEngine engine = regex.Parse("foobar");

// Get a list of the steps that the engine takes while parsing its input.
// Note that the result is lazily evaluated, and you can perform LINQ queries on it.
IEnumerable<ParseStep> steps = engine.GetParseSteps();

// Get the first match found in the input string.
// Note that the RegExpose.Match class mimics the System.Text.RegularExpressions.Match class.
Match match = engine.GetMatch();

// Get a collection of all matches. The collection is lazily evaluated.
IEnumerable<Match> matches = engine.GetMatches();

// Replaces all matches from the input string with "quxbaz".
// Like the System.Text.RegularExpressions.Regex.Replace method, this has several overloads.
string replacement = engine.Replace("quxbaz");

UI

The UI uses RegExpose in order to:

  • Visually display the tree-like structure of a regular expression.
  • Allow the user to visually "debug" the steps that the engine takes while parsing its input string.
Something went wrong with that request. Please try again.