A visualizer, debugger, and editor for C#-style regex.
regexdev focuses on making the internal structure and matching process of regex visible.
It parses regular expressions into an AST, visualizes them, and allows step-by-step debugging of the matching process.
- π Regex AST visualizer
- π Step-by-step regex debugger
- βοΈ Interactive regex editor
- π§© Breakpoints in the matching process
- π₯οΈ Multi-panel / multi-view display
- ποΈ Matching process playback
The matching results are continuously verified against the official C# regex engine:
- Compare Index and Length of every capture in every group
- Compare the total number of
Matches - If any difference is detected, a warning will be shown immediately
This makes regexdev suitable not only for visualization, but also for learning, debugging, and validating complex regex behavior.
- Regex Visualizer
- Regex Debugger
- Regex Editor
- Regex Breakpoint System
- Multi-View Regex Inspection
β οΈ Important note
This repository currently contains only the regex parser.
The full regexdev tool also includes a matcher, debugger runtime, and UI layers, but those parts are not open-sourced yet due to ongoing refactoring and cleanup.
This project originally started as an experimental tool, and the early matching implementation was tightly coupled and difficult to maintain.
Recently, I redesigned and rewrote the regex parser from scratch with a much cleaner architecture:
- Explicit AST-based design
- Clear separation of parsing stages
- Easier to inspect, extend, and visualize
As a result, the parser became the most stable and reusable part of the project, and is published independently.
I wrote a C# regex to replace the lexer and handle most grammar checks.
I didnβt want to write a lexical analyzer. π«
If you want to experiment with your own parsing logic or build additional tooling on top of it, the main entry point is:
new RegexParse().Parse(...)This allows you to focus on analysis, visualization, or matching logic,
without having to implement a regex lexer from scratch.
A minimal console application is included to demonstrate the parser behavior.
Type a regex expression, then enter parse on a new line and press Enter
to see the parsed AST output.

Iβd love to hear your thoughts on this project. If you have any suggestions, issues, or feature requests, please feel free to open an issue or contribute to the discussion.
Your feedback will help make this project even better! π





