Writing regular expressions without instant visual feedback is like writing code without a compiler β you're guessing until you run it.
I built a Regex Tester that highlights matches in real time as you type, with full capture group support and flag toggles.
π https://regex-tester-dfe.pages.dev
The Problem With Most Regex Tools
Most online regex testers work fine, but they require a button press to see results. You type your pattern, fill in test text, then click "Match" or "Test." When you're iterating quickly on a complex pattern, that friction adds up.
Real-time feedback changes how you work with regex.
What It Does
Live Match Highlighting
The moment you type a character in the pattern field, matches highlight in the test string. No button needed.
Test string: "Hello World 2026-06-17"
Pattern: \d{4}-\d{2}-\d{2}
β "2026-06-17" highlights instantly
Multiple matches get distinct colors so you can see at a glance whether your pattern catches the right things.
Capture Group Inspector
See exactly which text each group captured:
Pattern: (\d{4})-(\d{2})-(\d{2})
Test: "Today is 2026-06-17"
Match #1: "2026-06-17"
Group 1: "2026"
Group 2: "06"
Group 3: "17"
Named capture groups ((?<year>\d{4})) work too β essential for log parsing and data extraction patterns.
Flag Toggles (With Instant Preview)
Toggle flags with one click; results update immediately:
| Flag | Effect |
|---|---|
g |
Global β match all occurrences |
i |
Case-insensitive |
m |
Multiline β ^/$ match per line |
s |
Dotall β . matches newlines |
u |
Unicode mode |
Pattern: \d+ | Test: "abc 123 def 456"
g off β only "123" highlights
g on β both "123" and "456" highlight
Match Count & Error Display
Total match count updates live. If your pattern has a syntax error, you see it immediately:
Pattern: (unclosed group
β "Invalid regex: Unterminated group"
Real-World Examples
Extract IPs from logs:
Test: "2026-06-17 12:34:56 [ERROR] Request from 192.168.1.100"
Pattern: (\d{1,3}\.){3}\d{1,3}
β "192.168.1.100" highlighted
Parse URL segments:
Test: "https://example.com/users/42/profile"
Pattern: /users/(?<id>\d+)/(?<page>\w+)
Group id: "42"
Group page: "profile"
Validate email format:
Pattern: ^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$
Flags: i
"[email protected]" β match β
"not-an-email" β no match β
Under the Hood
The highlight system uses contenteditable with span-based coloring β no framework, pure vanilla JS. The key challenge was preserving cursor position on every keystroke while re-rendering the highlighted DOM. The PRD I gave the AI agent explicitly forbade execCommand and required cursor position preservation.
Built with AI-assisted implementation, validated with 37/37 passing tests.
Try It
Whether you're building log parsers, input validators, or text extractors β keep this one bookmarked:
π Regex Tester β devnestio
All tools: https://devnestio.pages.dev
Runs entirely in your browser. No data leaves your machine.
United States
NORTH AMERICA
Related News
π I Built a Dropshipping Automation Pipeline β Here's What I Learned (and What I'd Do Differently)
10h ago
How I Cut My LLM API Bill by 40x: A Freelancer's Migration Story
10h ago

Mattress Firm Coupons: Save up to $600
3h ago
Google Ordered to Pay $2 Billion For Anti-Competitive Practices By Swedish Court
20h ago
The Censorship Wall: Why Every AI Companion App Ends Up Filtering You
20h ago