Why it matters
Regex is powerful but easily misused. Understanding traps prevents production bugs.
Advertisement
The architecture
Basic: literals, character classes, quantifiers (*, +, ?, {n,m}).
Anchors: ^ $ \b.
Groups: () with backreferences.
Advertisement
How it works end to end
Compilation: pattern → NFA → optionally DFA. DFA is O(n) match but O(2^m) construction.
Backtracking engines (PCRE, JS, Python): NFA-based. Fast normally; catastrophic on some patterns.
Linear-time engines (RE2, Go): DFA-based. Slower for many patterns but no catastrophic backtracking.