Common Regex Errors
Regex engines throw when a pattern is syntactically invalid or when flags are incompatible. Runtime surprises often come from unescaped special characters, catastrophic backtracking on greedy `.*`, or assuming regex can parse nested structures.
Unescaped metacharacters
Characters like `.`, `*`, `+`, `?`, `(`, `)`, `[` have special meaning. Escape them with `\` when matching literally, e.g. `\.` for a dot in a domain name.
Greedy vs lazy
`.*` eats as much as possible and may skip intended matches. Use `.*?` for lazy matching or be explicit with character classes.
Testing first
Always test patterns against representative samples in a regex tester before shipping validation to production APIs.