RegexMate is a lightweight, GUI-based regular expression testing tool built with Racket, designed for developers who value user control, privacy-first, and local-first principles.
With RegexMate, you can easily test and debug regular expressions with real-time feedback, organize your work into contexts, and leverage AI assistance - all while keeping your data local and secure.
- Real-time Testing: Instant feedback on regex matches
- Context Management: Organize regex work into independent contexts
- Highlighted Matches: Visual highlighting of matched text
- Syntax Validation: Real-time regex syntax checking and error reporting
- Local-first Storage: All data persisted locally by default
- Cross-platform: Works on Windows, macOS, and Linux
- Controlled AI Access: AI only accesses data when explicitly requested
- Regex Generation: Generate regex patterns with AI assistance
- Smart Suggestions: Get AI-powered suggestions for regex improvements
- User-Centric: Clean, intuitive three-panel interface
- Privacy-First: No data leaves your machine without permission
- Modular Architecture: Easy to extend and customize
- Persistent Storage: Automatic saving of all contexts
- Clone or download the repository
git clone https://github.com/your-username/regexmate.git
cd regexmate- Run the application
racket main.rkt- Create a Context: Click the
+button in the left panel - Enter Regex: Type your regex pattern in the input field
- Add Test Text: Enter sample text to test against
- View Results: Matched text will be highlighted automatically
- Save Changes: All changes are saved automatically
- Rename Contexts: Double-click a context name
- Delete Contexts: Select a context and click the
-button - Switch Contexts: Click any context in the list
- Type your request in the AI panel
- Use
@inputto share your test text - Use
@current-regexto share your current regex - AI responses with regex patterns will be automatically extracted
regexmate/
├── main.rkt # Main application entry point
├── core/
│ ├── context.rkt # Context management
│ ├── regex-engine.rkt # Regex matching and validation
│ └── storage.rkt # Local storage implementation
├── gui/
│ ├── main-window.rkt # Main application window
│ ├── context-panel.rkt # Context list panel
│ ├── regex-panel.rkt # Regex testing panel
│ └── ai-panel.rkt # AI assistant panel
└── utils/
├── uuid.rkt # UUID generation
└── ai-protocol.rkt # AI communication protocol
- Install DrRacket or Racket CLI tools
- Open the project in your preferred editor
- Run
racket main.rktto start the application
Contributions are welcome! Please feel free to submit issues, feature requests, or pull requests.
- Fork the repository
- Create a feature branch (
git checkout -b feature/AmazingFeature) - Commit your changes (
git commit -m 'Add some AmazingFeature') - Push to the branch (
git push origin feature/AmazingFeature) - Open a Pull Request
This project is licensed under the MIT License - see the LICENSE file for details.
Please read CONTRIBUTING.md for details on our code of conduct, and the process for submitting pull requests to us.
For issues or questions, please open an issue on the GitHub repository.
- Built with ❤️ using Racket
- Inspired by various regex testing tools with a focus on user privacy and control