Skip to content

Viorel/RegExpress

Repository files navigation

RegExpress

This is a collection of Regular Expression engines, a playground, and a comparison chart.

The Playground is a desktop application:

Screenshot of RegExpress

The comparison chart is an Excel file:

Feature Matrix


The following engines are included:

Running the playground

The program can be built using Visual Studio 2026 (recommended) or Visual Studio 2022. The following Visual Studio workloads are required:

  • .NET desktop development.
  • Desktop development with C++.

Engines that require other software are precompiled, therefore no additional installations are required.

To build the program, open the RegExpressWPFNET.slnx solution. Right-click the RegExpressWPFNET project in Solution Explorer and select “Set as Startup Project”. Select “Rebuild Solution” from BUILD menu. Then the program can be started.

Note

To build the solution in Visual Studio 2022, the Platform Toolset option for C++ projects can be changed from v145 to v143.

Details

  • Principal GIT branch: main.
  • Solution file: RegExpressWPFNET.slnx.
  • Startup project: RegExpressWPFNET.
  • Configurations: “Debug, Any CPU” or “Release, Any CPU”. The C++ projects use “x64”.
  • Operating Systems: Windows 11, Windows 10.
  • Main languages: C#, C++.

Note

After loading the solution file in Visual Studio, make sure that the RegExpressWPFNET project is set as Startup Project.

Note

To avoid compilation errors after acquiring new releases, use the “Rebuild Solution” command instead of “Build Solution”.

Usage

Enter the pattern and text to textboxes. The results are updated automatically. The found matches are colourised.

Use the Options area to select and configure the Regular Expression engines.

Press the “➕” button to open more tabs.

Currently the regular expressions are saved and loaded automatically.


Comparison chart

The comparison chart (“Feature Matrix”) is an Excel file:

Example of several essential indicators:

  • which engines support named groups ((?<name>...) or (?P<name>...))?
  • which engines support variable-length positive and negative lookbehinds ((?<=... and (?<!...))?
  • which engines are protected against “catastrophic backtracking (ReDoS)” (pattern: (a*)*b, text: aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaac)?
  • which engines support fuzzy or approximate matching?

The answers are in the Excel file.


Betterments

There is a notable advancement from several perspectives:



Footnotes

  1. The Bun engine requires a modern 64-bit processor.

  2. The CTRE engine is available in selected environments only.

About

A multi-engine tool for evaluating regular expressions.

Topics

Resources

License

Stars

9 stars

Watchers

2 watching

Forks

Packages

 
 
 

Contributors