Pre-built, tested regex patterns for common data formats.
pip install philiprehberger-regex-kitPre-built, tested regex patterns for common data formats.
pip install philiprehberger-regex-kit
from philiprehberger_regex_kit import patterns, extract, is_match
# Use compiled patterns directly
if patterns.EMAIL.fullmatch("user@example.com"):
print("Valid email")
# Quick validation by name
is_match("ip_v4", "192.168.1.1") # True
is_match("uuid", "not-a-uuid") # False
from philiprehberger_regex_kit import extract
text = "Contact alice@example.com or visit https://example.com"
extract.emails(text) # ["alice@example.com"]
extract.urls(text) # ["https://example.com"]
from philiprehberger_regex_kit import patterns
patterns.EMAIL # Email addresses
patterns.URL # HTTP/HTTPS URLs
patterns.IP_V4 # IPv4 addresses
patterns.IP_V6 # IPv6 addresses (full form)
patterns.PHONE # Phone numbers
patterns.UUID # UUIDs
patterns.HEX_COLOR # Hex color codes (#fff, #ff00aa)
patterns.DATE_ISO # ISO dates (YYYY-MM-DD)
patterns.TIME_24H # 24-hour time (HH:MM or HH:MM:SS)
patterns.CREDIT_CARD # Credit card numbers
patterns.MAC_ADDRESS # MAC addresses
patterns.DOMAIN # Domain names
patterns| Attribute | Description |
|---|---|
patterns.EMAIL | Compiled pattern for email addresses |
patterns.URL | Compiled pattern for HTTP/HTTPS URLs |
patterns.IP_V4 | Compiled pattern for IPv4 addresses |
patterns.IP_V6 | Compiled pattern for IPv6 addresses |
patterns.PHONE | Compiled pattern for phone numbers |
patterns.UUID | Compiled pattern for UUIDs |
patterns.HEX_COLOR | Compiled pattern for hex color codes |
patterns.DATE_ISO | Compiled pattern for ISO 8601 dates |
patterns.TIME_24H | Compiled pattern for 24-hour time |
patterns.CREDIT_CARD | Compiled pattern for credit card numbers |
patterns.MAC_ADDRESS | Compiled pattern for MAC addresses |
patterns.DOMAIN | Compiled pattern for domain names |
extract| Method | Description |
|---|---|
extract.emails(text) | Extract all email addresses |
extract.urls(text) | Extract all URLs |
extract.phones(text) | Extract all phone numbers |
extract.ips(text) | Extract all IPv4 addresses |
extract.uuids(text) | Extract all UUIDs |
is_match(pattern_name, value)| Parameter | Description |
|---|---|
pattern_name | Pattern name string (e.g. "email", "ip_v4", "uuid") |
value | The string to validate |
| Returns | bool — True if the entire value matches |
pip install -e .
python -m pytest tests/ -v
If you find this project useful: