Regex builder
Goal
Produce a correct, testable regex with rationale and runnable verification.
Inputs to confirm (ask if missing)
- •Target regex flavor/engine (PCRE, Python, JavaScript, .NET, RE2, etc.).
- •Example matches and non-matches (at least 3 each when possible).
- •Scope: single-line vs multi-line; file types/paths.
- •Output needs: capture groups, named groups, replacement template.
Workflow
- •Gather samples
- •Ask for sample text or identify files.
- •If files exist, locate with
rg --filesand preview withrg -n.
- •Choose tool
- •Prefer
rgfor quick match checks; userg -Pfor PCRE features. - •Use Python for detailed group inspection when needed.
- •Prefer
- •Build incrementally
- •Start with a minimal literal anchor; expand piece by piece.
- •Add anchors/boundaries; handle whitespace and separators explicitly.
- •Validate
- •Show a command to test against samples.
- •Confirm no false positives by testing non-matches.
- •Deliver
- •Provide final regex, flags, and explanation.
- •Include a test command and expected match summary.
- •Note any tradeoffs/backtracking risks.
CLI snippets (use as needed)
- •Ripgrep check:
- •
rg -n "<regex>" path\\to\\file - •
rg -n -P "<regex>" path\\to\\file
- •
- •Python quick test (adjust quoting for the shell):
- •
python -c "import re,sys;pat=re.compile(r'<regex>');data=sys.stdin.read();print([m.group(0) for m in pat.finditer(data)])" < path\\to\\file
- •
Deliverables
- •Regex + flags and any capture group map.
- •Test command(s) and summary of matches/non-matches.
- •Short explanation of the approach and known limitations.