Конструктор регулярных выражений

Соберите регулярное выражение визуально из шагов (текст, цифры, буквы, наборы символов, якоря) с повторами и группами или начните с готовых шаблонов. Живая проверка.

Готовое выражение
/^\d{3}-\d{4}$/m

Совпадений: 2

555-1234 55-12345 123-4567

Что такое Конструктор регулярных выражений?

Строит регулярное выражение из списка простых шагов вместо ручного написания. Каждый шаг — строительный блок: точный текст, цифра, буква, символ слова, пробельный символ, любой символ, набор символов, якорь — с правилом повтора и необязательной группой. Готовые шаблоны (email, URL, IPv4, дата ISO, hex-цвет, время, slug, UUID, хештег, повторяющееся слово) дают отправную точку, а сгенерированный шаблон проверяется вживую на примере текста.

Как пользоваться Конструктор регулярных выражений

  1. Выберите шаблон в Начать с готового шаблона или измените шаги по умолчанию.
  2. Для каждого шага выберите блок, его текст или символы, как часто он повторяется и является ли он группой.
  3. Используйте Добавить шаг, стрелки и Удалить, чтобы упорядочить шаги, и отметьте нужные флаги.
  4. Проверьте совпадения в Тестовая строка и скопируйте Готовое выражение.

Пример

Ввод
Steps: start · digit exactly 3 · text "-" · digit exactly 4 · end (flag m)
Вывод
/^\d{3}-\d{4}$/m – matches 555-1234 and 123-4567, not 55-12345

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

Используйте, когда вы знаете, как выглядит текст, но не знаете синтаксис regex, или чтобы начать с проверенного шаблона. Для альтернатив (a|b), просмотра вперёд/назад или обратных ссылок доработайте сгенерированный шаблон в тестере регулярных выражений. Шаблоны — практичные, а не полные валидаторы RFC (например, шаблон email не охватывает все адреса, допускаемые RFC).

Как работает Конструктор регулярных выражений

Каждый шаг переводится в исходный код regex: точный текст экранируется (поэтому . или ( соответствуют буквально), наборы символов становятся […] или [^…] с экранированием ], \ и ^, а блоки соответствуют \d, \w, \s, \p{L}, ., ^, $ или \b. Повторы добавляют ?, *, +, {n}, {n,} или {n,m}; многосимвольный текст перед квантификатором оборачивается в незахватывающую группу. Захватывающие, незахватывающие и именованные группы оборачивают шаг. Шаги конкатенируются, флаг u добавляется автоматически при использовании \p{L}, а шаблон проверяется на примере текста тем же движком, что и в тестере регулярных выражений.

Распространенные Случаи Использования

  • Создание шаблона для кодов товаров вроде ABC-1234
  • Старт с готового шаблона для дат, email или UUID
  • Изучение того, как блоки соответствуют синтаксису regex
  • Создание шаблонов валидации для полей форм

Часто Задаваемые Вопросы

Можно ли править сгенерированное выражение вручную?

Скопируйте его в тестер регулярных выражений и дорабатывайте там. Готовые шаблоны загружаются как редактируемый фрагмент шаблона.

Почему флаг u добавлен автоматически?

Блок «любая буква» использует \p{L}, который JavaScript понимает только в режиме Unicode.

Экранируются ли спецсимволы в моём тексте?

Да. Шаги с точным текстом экранируют метасимволы regex, поэтому «1.5» соответствует только «1.5», а не «125».

Что сделать дальше

Другие категории