regex-tester

SKILL.md

Regex Tester

Test regular expressions with syntax validation, match testing, group extraction, and replacement.

Features

  • Validate: Check regex syntax validity
  • Test: Match patterns against text
  • Groups: Extract capture groups
  • Replace: Find and replace with regex
  • Explain: Get human-readable pattern explanation
  • Flags: Support for common regex flags (global, case-insensitive, multiline, dotall)

Usage

# Test pattern matching
./scripts/regex.js --pattern "hello.*world" --text "hello there world"

# Extract groups
./scripts/regex.js --pattern "(\d{3})-(\d{3})-(\d{4})" --text "555-123-4567" --groups

# Replace text
./scripts/regex.js --pattern "\b(\w+)\b" --text "hello world" --replace "[$1]" --global

# Validate regex syntax (no text needed)
./scripts/regex.js --pattern "[a-z+" --validate

# Explain pattern
./scripts/regex.js --pattern "^(\d+)\.(\d+)\.(\d+)$" --explain

# With flags
./scripts/regex.js --pattern "HELLO" --text "hello" --flags "i"  # case-insensitive

Flags

Flag Description
g Global (find all matches)
i Case-insensitive
m Multiline (^ and $ match start/end of lines)
s Dotall (dot matches newlines)

Examples

Task Command
Email validation ./scripts/regex.js --pattern "^[\w.-]+@[\w.-]+\.\w+$" --text "test@example.com"
Phone extraction ./scripts/regex.js --pattern "\d{3}-\d{3}-\d{4}" --text "Call 555-123-4567" --global
URL matching ./scripts/regex.js --pattern "https?://[^\s]+" --text "Visit https://example.com"
Date parsing ./scripts/regex.js --pattern "(\d{4})-(\d{2})-(\d{2})" --text "2024-03-15" --groups
Code search ./scripts/regex.js --pattern "function\s+(\w+)" --text "function hello() {}" --flags "g"

Output Format

Valid match:

{
  "valid": true,
  "matches": 2,
  "results": [
    { "match": "hello world", "index": 0, "groups": [] },
    { "match": "hello universe", "index": 12, "groups": [] }
  ]
}

No match:

{
  "valid": true,
  "matches": 0,
  "message": "No matches found"
}

Invalid pattern:

{
  "valid": false,
  "error": "Unterminated character class",
  "position": 5
}

Pattern Reference

  • . - Any character (except newline)
  • \d - Digit (0-9)
  • \w - Word character (letters, digits, underscore)
  • \s - Whitespace
  • [] - Character class
  • [^] - Negated character class
  • * - Zero or more
  • + - One or more
  • ? - Zero or one
  • ^ - Start of string
  • $ - End of string
  • () - Capture group
Weekly Installs
2
First Seen
14 days ago
Installed on
amp2
cline2
opencode2
cursor2
kimi-cli2
codex2