Bug Description
Negated Unicode property class \P{Han}+ matches Han characters instead of excluding them.
Reproduction
pattern := `\P{Han}+`
input := "abc中文def"
// stdlib: ["abc", "def"] (correctly excludes Han characters)
// coregex: ["abc中文def"] (incorrectly includes Han characters)
Expected Behavior
\P{Han} should match any character that is NOT in the Han Unicode script.
On input "abc中文def":
- "abc" matches (not Han)
- "中文" does NOT match (is Han)
- "def" matches (not Han)
Actual Behavior
The entire string matches including Han characters.
Root Cause
Likely in how negated Unicode property classes are compiled in nfa/compile.go.
Need to investigate compileUnicodeClass or related Unicode handling.