{"id":26275755,"url":"https://github.com/longxya/regexdev","last_synced_at":"2026-02-11T17:01:43.523Z","repository":{"id":281801152,"uuid":"943625052","full_name":"longxya/regexdev","owner":"longxya","description":"Visualizer, debugger, and editor for regex","archived":false,"fork":false,"pushed_at":"2026-02-05T17:07:30.000Z","size":153,"stargazers_count":3,"open_issues_count":0,"forks_count":0,"subscribers_count":0,"default_branch":"main","last_synced_at":"2026-02-06T03:26:48.500Z","etag":null,"topics":["c-sharp","debugger","debugger-visualizer","editor","regex","regex-match","regexp","visualizer"],"latest_commit_sha":null,"homepage":"http://www.regexdev.com","language":"C#","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/longxya.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null,"notice":null,"maintainers":null,"copyright":null,"agents":null,"dco":null,"cla":null}},"created_at":"2025-03-06T02:28:04.000Z","updated_at":"2026-02-05T17:07:34.000Z","dependencies_parsed_at":"2025-03-11T08:38:04.776Z","dependency_job_id":null,"html_url":"https://github.com/longxya/regexdev","commit_stats":null,"previous_names":["longxya/regexdev"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/longxya/regexdev","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longxya%2Fregexdev","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longxya%2Fregexdev/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longxya%2Fregexdev/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longxya%2Fregexdev/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/longxya","download_url":"https://codeload.github.com/longxya/regexdev/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/longxya%2Fregexdev/sbom","scorecard":null,"host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":286080680,"owners_count":29338661,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2026-02-11T16:14:43.024Z","status":"ssl_error","status_checked_at":"2026-02-11T16:14:15.258Z","response_time":97,"last_error":"SSL_connect returned=1 errno=0 peeraddr=140.82.121.6:443 state=error: unexpected eof while reading","robots_txt_status":"success","robots_txt_updated_at":"2025-07-24T06:49:26.215Z","robots_txt_url":"https://github.com/robots.txt","online":false,"can_crawl_api":true,"host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["c-sharp","debugger","debugger-visualizer","editor","regex","regex-match","regexp","visualizer"],"created_at":"2025-03-14T10:17:59.298Z","updated_at":"2026-02-11T17:01:43.518Z","avatar_url":"https://github.com/longxya.png","language":"C#","funding_links":[],"categories":[],"sub_categories":[],"readme":"# [regexdev](https://www.regexdev.com/)\n\nA visualizer, debugger, and editor for **C#-style regex**.\n\n`regexdev` focuses on **making the internal structure and matching process of regex visible**.  \nIt parses regular expressions into an AST, visualizes them, and allows step-by-step debugging of the matching process.\n\n---\n\n## 🎬 Demonstration\n### All functions\n![Demonstration3](https://github.com/user-attachments/assets/5fb46bb8-258e-4219-9b69-07c63e19d100)\n\n### Parsing\n![Parse1](https://github.com/user-attachments/assets/f2290d6d-6e3d-402f-b090-ee5dfb8357fc)\n\n### Debugging\n![Debug1](https://github.com/user-attachments/assets/bba17b5a-f62d-4b43-932e-af3fefae38fb)\n\n### Editing\n![Edit](https://github.com/user-attachments/assets/69cc5756-aae2-41fa-bb4c-23753b33fd72)\n\n### Multi-Display\n![MultiDisplay1](https://github.com/user-attachments/assets/85f9fe48-7956-4f33-99da-ca4261d03f42)\n\n### Breakpoints\n![Breakpoints](https://github.com/user-attachments/assets/f8ef9030-f84c-42c2-b131-2fa23e8d0d28)\n\n---\n\n## 🚀 Features\n\n- 🔍 Regex **AST visualizer**\n- 🐞 Step-by-step **regex debugger**\n- ✏️ Interactive **regex editor**\n- 🧩 **Breakpoints** in the matching process\n- 🖥️ **Multi-panel / multi-view** display\n- 🎞️ Matching process playback\n\n---\n\n## ✅ Verification \u0026 Correctness\n\n### How does `regexdev` ensure the matching process is correct?\n\nThe matching results are continuously verified against the official **C# regex engine**:\n\n1. Compare **Index** and **Length** of **every capture in every group**\n2. Compare the total number of `Matches`\n3. If **any difference** is detected, a warning will be shown immediately\n\nThis makes `regexdev` suitable not only for visualization, but also for **learning, debugging, and validating complex regex behavior**.\n\n---\n\n## 🏷️ Tags / Capabilities\n\n- Regex Visualizer  \n- Regex Debugger  \n- Regex Editor  \n- Regex Breakpoint System  \n- Multi-View Regex Inspection  \n\n---\n\n## 🧠 About the Code\n\n\u003e ⚠️ **Important note**\n\nThis repository currently contains **only the regex parser**.\n\nThe 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.\n\n### Why only the parser?\n\nThis project originally started as an experimental tool, and the early matching implementation was tightly coupled and difficult to maintain.  \nRecently, I redesigned and rewrote the **regex parser** from scratch with a much cleaner architecture:\n\n- Explicit **AST-based design**\n- Clear separation of parsing stages\n- Easier to inspect, extend, and visualize\n\nAs a result, the parser became the **most stable and reusable part** of the project, and is published independently.\n\n### Especially:\n\nI wrote a [C# regex](https://github.com/longxya/regexdev/blob/main/RegexDev/RegexParse.cs#L933) to replace the lexer and handle most grammar checks.\n\nI didn’t want to write a lexical analyzer. 🚫\n\n### Extension point\n\nIf you want to experiment with your own parsing logic or build additional tooling on top of it, the main entry point is:\n\n```csharp\nnew RegexParse().Parse(...)\n```\nThis allows you to focus on analysis, visualization, or matching logic,  \nwithout having to implement a regex lexer from scratch.\n\n---\n\n## 💻 Console Demo\n\nA minimal console application is included to demonstrate the parser behavior.\n\nType a regex expression, then enter `parse` on a new line and press `Enter`\nto see the parsed AST output.\n\u003cimg width=\"1505\" height=\"1012\" alt=\"3ac9b184-e044-4ee9-bff8-aff03b881621\" src=\"https://github.com/user-attachments/assets/bee3112d-642c-46ca-a4da-3075428b834f\" /\u003e\n\u003cimg width=\"1884\" height=\"932\" alt=\"bf41a97a-9685-4457-bf99-2707d6b2404b\" src=\"https://github.com/user-attachments/assets/132f7d72-e9cd-4728-a0bc-7bd48ceddad6\" /\u003e\n\u003cimg width=\"1888\" height=\"864\" alt=\"5cb489d9-2d4b-4105-9c55-23e1ffbcfb14\" src=\"https://github.com/user-attachments/assets/8f00ef02-ebf7-42ae-a76e-eda44ccac779\" /\u003e\n\n---\n\n## 📢 Feedback, Suggestions, and Discussions are Very Welcome! \n\nI’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.\n\n- **[Open an Issue](https://github.com/longxya/regexdev/issues)**\n- **[Start a Discussion](https://github.com/longxya/regexdev/discussions)**\n\nYour feedback will help make this project even better! 🚀\n\n---\n\n## 📄 License\n\n[MIT](https://github.com/longxya/regexdev/blob/master/LICENSE)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flongxya%2Fregexdev","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Flongxya%2Fregexdev","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Flongxya%2Fregexdev/lists"}