JSON и схемы
Валидация строк регулярными выражениями в JSON Schema (pattern)
Ключевое слово pattern применяет регулярное выражение для проверки значения строкового поля.
Опубликовано
Сквозной процесс
Тест Regex → Экранирование для JSON → Валидация схемы
Три практических шага для решения одной задачи без лишних действий.
- Тест Regex
Шаг 1 · Тестирование в Regex Tester
Проверьте Regex до добавления в схему
Сначала проверьте совпадения в Regex Tester, а затем добавляйте экранирование JSON.
^[A-Z]{2}-\d{4}$Ожидаемый результат: XY-9876 совпадает; DEV-2048, dev-2048 и prefix DEV-2048 не совпадают.
- Экранирование для JSON
^[A-Z]{2}-\d{4}$"pattern": "^[A-Z]{2}-\\d{4}$"Регулярное выражение содержит
\d; внутри строки JSON этот слэш записывается как\\. - Валидация схемы
Шаг 3 · Проверка в JSON Schema Validator
Проверьте идентификатор по шаблону с якорями
Схема принимает только две заглавные буквы, дефис и четыре цифры.
{ "type": "string", "pattern": "^[A-Z]{2}-\\d{4}$" }Ожидаемый результат: XY-9876 корректен; DEV-2048 и dev-2048 некорректны.
Почему это не работает
Четыре проверки перед использованием шаблона
Шаблоны без ^ и $ могут найти совпадение в середине строки.
Слэш регулярного выражения должен пережить парсинг JSON-строки.
Всегда проверяйте строки, которые должны отклоняться.
Сохраняйте переносимость синтаксиса между разными валидаторами.
Проверьте схему
Валидация регулярных выражений в схеме
Протестируйте шаблон в Regex Tester и проверьте его работу в JSON Schema Validator.