# Regex Builder

> Build, test, and explain regular expressions against sample text or files using CLI tools (rg, python) and specific regex flavors. Use when asked to craft, debug, or validate regexes or search patterns.

- Skill: `majiayu000/regex-builder` (Agent Skill, multi-file: 2 files)
- Install (CLI): `npx skillmds add majiayu000/regex-builder`
- Raw SKILL.md: https://api.skillmd.com/api/skills/majiayu000/regex-builder/raw
- Safety review: pending
- Works with: Claude Code, Claude.ai, OpenAI Codex
- Category: Coding & Dev Tools
- Author: majiayu000 (https://skillmd.com/u/majiayu000)
- Updated: 2026-09-09
- Page: https://skillmd.com/skills/majiayu000/regex-builder

---

# 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
1) Gather samples
   - Ask for sample text or identify files.
   - If files exist, locate with `rg --files` and preview with `rg -n`.
2) Choose tool
   - Prefer `rg` for quick match checks; use `rg -P` for PCRE features.
   - Use Python for detailed group inspection when needed.
3) Build incrementally
   - Start with a minimal literal anchor; expand piece by piece.
   - Add anchors/boundaries; handle whitespace and separators explicitly.
4) Validate
   - Show a command to test against samples.
   - Confirm no false positives by testing non-matches.
5) 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.

