Cleanup Review
python scripts/_purge_cache.py is an optional cleanup helper for the Regexr skill. It may recursively remove /tmp/skill_cache. Show the exact paths first, explain whether they are skill-private temporary paths or user state, and run the cleanup only after the user confirms.
Regexr
Developer tools CLI for checking, validating, generating, and working with regular expressions and code patterns. Lint syntax, explain complex expressions, convert between formats, generate templates, diff pattern versions, preview matches, fix common regex issues, and produce reports — all from the command line with persistent local logging.
Commands
Run regexr <command> [args] to use.
| Command |
Description |
check |
Check regex patterns for correctness and common pitfalls |
validate |
Validate regex syntax and structure |
generate |
Generate regex patterns from descriptions or examples |
format |
Format and prettify regex expressions |
lint |
Lint regex for style, performance, and safety issues |
explain |
Explain what a regex pattern does in plain language |
convert |
Convert regex between flavors (PCRE, JS, Python, etc.) |
template |
Apply or manage regex templates for common use cases |
diff |
Diff two regex patterns and show behavioral differences |
preview |
Preview regex matches against sample text |
fix |
Auto-fix common regex issues (escaping, anchoring, etc.) |
report |
Generate regex quality and coverage reports |
stats |
Show summary statistics across all categories |
export <fmt> |
Export data in json, csv, or txt format |
search <term> |
Search across all logged entries |
recent |
Show recent activity from history log |
status |
Health check — version, data dir, disk usage |
help |
Show help and available commands |
version |
Show version (v2.0.0) |
Each domain command (check, validate, generate, etc.) works in two modes:
- Without arguments: displays the most recent 20 entries from that category
- With arguments: logs the input with a timestamp and saves to the category log file
Data Storage
All data is stored locally in ~/.local/share/regexr/:
- Each command creates its own log file (e.g.,
check.log, validate.log, generate.log)
- A unified
history.log tracks all activity across commands
- Entries are stored in
timestamp|value pipe-delimited format
- Export supports JSON, CSV, and plain text formats
Requirements
- Bash 4+ with
set -euo pipefail strict mode
- Standard Unix utilities:
date, wc, du, tail, grep, sed, cat
- No external dependencies or API keys required
When to Use
- Building and testing regex patterns — use
generate to create patterns from descriptions, check to verify correctness, and preview to test against sample data
- Learning and understanding regex — use
explain to break down complex patterns into plain-language descriptions, perfect for code reviews or onboarding
- Linting and fixing regex in codebases — run
lint to catch performance and safety issues (catastrophic backtracking, unanchored patterns), then fix to auto-correct them
- Converting regex across languages — use
convert to translate patterns between JavaScript, Python, PCRE, and other flavors when porting code
- Documenting regex usage in projects — log patterns with
template, generate report summaries, and export data for documentation or audits
Examples
# Check a regex pattern for issues
regexr check "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z]{2,}$ — email validation"
# Validate regex syntax
regexr validate "(?<=@)[a-z]+\.com — lookbehind syntax OK"
# Generate a pattern from description
regexr generate "match IPv4 addresses: \d{1,3}(\.\d{1,3}){3}"
# Explain a complex regex
regexr explain "^(?=.*[A-Z])(?=.*\d).{8,}$ — password: 1 uppercase, 1 digit, 8+ chars"
# Lint for performance issues
regexr lint "(a+)+ — warning: catastrophic backtracking possible"
# Convert between flavors
regexr convert "JS→Python: /\d+/g becomes re.findall(r'\d+', text)"
# Fix common issues
regexr fix "added anchors: ^pattern$ and escaped special chars"
# Preview matches
regexr preview "pattern=[0-9]{3}-[0-9]{4} matched: 555-1234, 800-9999"
# View summary statistics
regexr stats
# Export all data as JSON
regexr export json
# Search logged patterns
regexr search "email"
Output
All commands output to stdout. Redirect to a file if needed:
regexr report "weekly pattern audit" > report.txt
regexr export csv # saves to ~/.local/share/regexr/export.csv
Configuration
Set DATA_DIR by modifying the script, or use the default: ~/.local/share/regexr/
Powered by BytesAgain | bytesagain.com | hello@bytesagain.com
1---2name: regexr-23description: Create, test, and learn regular expressions with live matching. Use when validating patterns, checking groups, generating regex, linting syntax.4license: MIT5---678910### Cleanup Review1112`python scripts/_purge_cache.py` is an optional cleanup helper for the `Regexr` skill. It may recursively remove /tmp/skill_cache. Show the exact paths first, explain whether they are skill-private temporary paths or user state, and run the cleanup only after the user confirms.1314# Regexr1516Developer tools CLI for checking, validating, generating, and working with regular expressions and code patterns. Lint syntax, explain complex expressions, convert between formats, generate templates, diff pattern versions, preview matches, fix common regex issues, and produce reports — all from the command line with persistent local logging.1718## Commands1920Run `regexr <command> [args]` to use.2122| Command | Description |23|---------|-------------|24| `check` | Check regex patterns for correctness and common pitfalls |25| `validate` | Validate regex syntax and structure |26| `generate` | Generate regex patterns from descriptions or examples |27| `format` | Format and prettify regex expressions |28| `lint` | Lint regex for style, performance, and safety issues |29| `explain` | Explain what a regex pattern does in plain language |30| `convert` | Convert regex between flavors (PCRE, JS, Python, etc.) |31| `template` | Apply or manage regex templates for common use cases |32| `diff` | Diff two regex patterns and show behavioral differences |33| `preview` | Preview regex matches against sample text |34| `fix` | Auto-fix common regex issues (escaping, anchoring, etc.) |35| `report` | Generate regex quality and coverage reports |36| `stats` | Show summary statistics across all categories |37| `export <fmt>` | Export data in json, csv, or txt format |38| `search <term>` | Search across all logged entries |39| `recent` | Show recent activity from history log |40| `status` | Health check — version, data dir, disk usage |41| `help` | Show help and available commands |42| `version` | Show version (v2.0.0) |4344Each domain command (check, validate, generate, etc.) works in two modes:45- **Without arguments**: displays the most recent 20 entries from that category46- **With arguments**: logs the input with a timestamp and saves to the category log file4748## Data Storage4950All data is stored locally in `~/.local/share/regexr/`:5152- Each command creates its own log file (e.g., `check.log`, `validate.log`, `generate.log`)53- A unified `history.log` tracks all activity across commands54- Entries are stored in `timestamp|value` pipe-delimited format55- Export supports JSON, CSV, and plain text formats5657## Requirements5859- Bash 4+ with `set -euo pipefail` strict mode60- Standard Unix utilities: `date`, `wc`, `du`, `tail`, `grep`, `sed`, `cat`61- No external dependencies or API keys required6263## When to Use64651. **Building and testing regex patterns** — use `generate` to create patterns from descriptions, `check` to verify correctness, and `preview` to test against sample data662. **Learning and understanding regex** — use `explain` to break down complex patterns into plain-language descriptions, perfect for code reviews or onboarding673. **Linting and fixing regex in codebases** — run `lint` to catch performance and safety issues (catastrophic backtracking, unanchored patterns), then `fix` to auto-correct them684. **Converting regex across languages** — use `convert` to translate patterns between JavaScript, Python, PCRE, and other flavors when porting code695. **Documenting regex usage in projects** — log patterns with `template`, generate `report` summaries, and `export` data for documentation or audits7071## Examples7273```bash74# Check a regex pattern for issues75regexr check "^[a-zA-Z0-9_.+-]+@[a-zA-Z0-9-]+\.[a-zA-Z]{2,}$ — email validation"7677# Validate regex syntax78regexr validate "(?<=@)[a-z]+\.com — lookbehind syntax OK"7980# Generate a pattern from description81regexr generate "match IPv4 addresses: \d{1,3}(\.\d{1,3}){3}"8283# Explain a complex regex84regexr explain "^(?=.*[A-Z])(?=.*\d).{8,}$ — password: 1 uppercase, 1 digit, 8+ chars"8586# Lint for performance issues87regexr lint "(a+)+ — warning: catastrophic backtracking possible"8889# Convert between flavors90regexr convert "JS→Python: /\d+/g becomes re.findall(r'\d+', text)"9192# Fix common issues93regexr fix "added anchors: ^pattern$ and escaped special chars"9495# Preview matches96regexr preview "pattern=[0-9]{3}-[0-9]{4} matched: 555-1234, 800-9999"9798# View summary statistics99regexr stats100101# Export all data as JSON102regexr export json103104# Search logged patterns105regexr search "email"106```107108## Output109110All commands output to stdout. Redirect to a file if needed:111112```bash113regexr report "weekly pattern audit" > report.txt114regexr export csv # saves to ~/.local/share/regexr/export.csv115```116117## Configuration118119Set `DATA_DIR` by modifying the script, or use the default: `~/.local/share/regexr/`120121---122Powered by BytesAgain | bytesagain.com | hello@bytesagain.com