Unicode Script Code (ISO 15924) Regex for Python
/^[A-Z][a-z]{3}$/What this pattern does
This page provides a lightweight, single-purpose regular expression for matching unicode script code (iso 15924), ported and verified for Python. A rigorously tested regex reduces debugging time and protects your application from edge-case failures. The snippet below is ready to drop into your Python project — whether you're validating in a Django view, a FastAPI endpoint, or a standalone data processing script.
Python Implementation
# Unicode Script Code (ISO 15924)
# ReDoS-safe | RegexVault — Localization > Locale & Language
import re
unicode_script_code_iso_15924_pattern = re.compile(r'^[A-Z][a-z]{3}$')
def validate_unicode_script_code_iso_15924(value: str) -> bool:
return bool(unicode_script_code_iso_15924_pattern.fullmatch(value))
# Example
print(validate_unicode_script_code_iso_15924("Latn")) # TrueTest Cases
Matches (Valid) | Rejects (Invalid) |
|---|---|
Latn | LATN |
Hans | latn |
Hant | Lat |
Arab | Latin |
Cyrl | Lat1 |
Deva | — |
Hang | — |
Jpan | — |
Kore | — |
When to use this pattern
This pattern is drawn from the Localization > Locale & Language category and carries a ReDoS-safe certification. That matters for Python developers because particularly important in Python web servers where CPU-bound regex operations can stall concurrent request handling. RegexVault audits patterns against known backtracking attack vectors, ensuring you have the necessary context before using this regex in a high-stakes production environment.
Common Pitfalls
Script codes are title case (first letter uppercase, rest lowercase). They appear in the middle of BCP 47 tags: zh-Hant-TW (Traditional Chinese as used in Taiwan).
Technical Notes
ISO 15924 script codes: Latn=Latin, Hans=Simplified Chinese, Hant=Traditional Chinese, Arab=Arabic, Cyrl=Cyrillic, Deva=Devanagari (Hindi), Hang=Hangul, Jpan=Japanese (Han+Hiragana+Katakana). Used in BCP 47 language tags.
Have a pattern that belongs in the vault?
Submit it for review — community-verified patterns get credited to your GitHub handle. Free submissions join the queue. Priority review available for $15.
Submit a Pattern