Usage
When the user asks you to create, validate, or debug a regular expression:
- Understand the requirement — clarify what the pattern should match and what it should reject.
- Consult the cheatsheet — review
references/regex-cheatsheet.mdfor syntax reminders if needed. - Write and execute test code — use the
execute_codetool to run Python code that:- Compiles the regex with
re.compile() - Tests it against a set of positive examples (should match) and negative examples (should not match)
- Extracts and displays any capturing groups
- Reports pass/fail for each test case
- Compiles the regex with
- Iterate — if any test fails, refine the pattern and re-run until all cases pass.
- Present the result — give the user the final pattern, explain what each part does, and show the test results.
Example Test Script
import re
pattern = re.compile(r'^[\w.+-]+@[\w-]+\.[\w.-]+$')
positives = ["user@example.com", "first.last+tag@sub.domain.org"]
negatives = ["@missing.com", "no-at-sign", "spaces in@address.com"]
for s in positives:
assert pattern.match(s), f"FAIL: expected match for '{s}'"
for s in negatives:
assert not pattern.match(s), f"FAIL: expected no match for '{s}'"
print("All tests passed!")