# pydantic.errors.StrRegexError: 字符串不符合正则表达式

- **ID:** `python/pydantic-anystr-strict-whitespace`
- **领域:** python
- **类别:** data_error
- **验证级别:** ai_generated
- **修复率:** 80%

## 根因

当使用 Field(pattern=...) 对字符串进行验证时，输入必须完全匹配正则表达式；任何不匹配（如空白字符或部分匹配）都会引发 StrRegexError。

## 版本兼容性

| 版本 | 状态 | 引入 | 弃用 |
|------|------|------|------|
| 2.x | active | — | — |

## 解决方案

1. **** (90% 成功率)
   ```
   Use pattern='^[A-Z]+$' and ensure input is uppercase without spaces
   ```
2. **** (85% 成功率)
   ```
   Strip whitespace before validation: @field_validator('field', mode='before') def strip(cls, v): return v.strip()
   ```

## 无效尝试

- **** — Pydantic uses re.match by default, but pattern must match entire string; partial matches fail. (75% 失败率)
- **** — Whitespace is not stripped unless configured; pattern fails. (80% 失败率)
