JSON и схемы

Валидация строк регулярными выражениями в JSON Schema (pattern)

Ключевое слово pattern применяет регулярное выражение для проверки значения строкового поля.

Опубликовано

Сквозной процесс

Тест Regex → Экранирование для JSON → Валидация схемы

Три практических шага для решения одной задачи без лишних действий.

  1. Тест Regex

    Шаг 1 · Тестирование в Regex Tester

    Проверьте Regex до добавления в схему

    Сначала проверьте совпадения в Regex Tester, а затем добавляйте экранирование JSON.

    ^[A-Z]{2}-\d{4}$

    Ожидаемый результат: XY-9876 совпадает; DEV-2048, dev-2048 и prefix DEV-2048 не совпадают.

  2. Экранирование для JSON
    ^[A-Z]{2}-\d{4}$
    "pattern": "^[A-Z]{2}-\\d{4}$"

    Регулярное выражение содержит \d; внутри строки JSON этот слэш записывается как \\.

  3. Валидация схемы

    Шаг 3 · Проверка в JSON Schema Validator

    Проверьте идентификатор по шаблону с якорями

    Схема принимает только две заглавные буквы, дефис и четыре цифры.

    { "type": "string", "pattern": "^[A-Z]{2}-\\d{4}$" }

    Ожидаемый результат: XY-9876 корректен; DEV-2048 и dev-2048 некорректны.

Почему это не работает

Четыре проверки перед использованием шаблона

Отсутствие якорей

Шаблоны без ^ и $ могут найти совпадение в середине строки.

Неправильное экранирование в JSON

Слэш регулярного выражения должен пережить парсинг JSON-строки.

Только позитивные примеры

Всегда проверяйте строки, которые должны отклоняться.

Особенности движков

Сохраняйте переносимость синтаксиса между разными валидаторами.

Проверьте схему

Валидация регулярных выражений в схеме

Протестируйте шаблон в Regex Tester и проверьте его работу в JSON Schema Validator.

Открыть JSON Schema Validator →