Logo Wand.Tools

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

Интеллектуальная генерация и объяснение регулярных выражений, поддержка различных распространенных шаблонов сопоставления

Попробуйте наши другие бесплатные инструменты ИИ

Генератор формул Excel

Преобразуйте ваши текстовые инструкции в формулы или получите объяснения формул.

Ассистент Excel ИИ

Редактируйте Excel онлайн, общаясь с ИИ

Генератор SQL-запросов

Преобразуйте ваши текстовые инструкции в SQL-запросы с помощью ИИ.

Генератор кода Excel VBA

Генерируйте код Excel VBA для автоматизации задач и создания пользовательских решений в Microsoft Excel.

Генератор графиков Excel

Загрузите свой файл Excel и создайте красивые графики с помощью нашего генератора графиков на основе ИИ.

Генератор ментальных карт

Преобразуйте ваш текст в красивые ментальные карты с помощью нашего генератора ментальных карт на основе ИИ. Легко редактируйте и настраивайте.

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

Используйте ИИ для интеллектуальной генерации и объяснения регулярных выражений, поддержка сопоставления текстовых шаблонов и проверки данных.

Сопоставление адресов электронной почты с помощью регулярных выражений - Полное руководство

  # Сопоставление адресов электронной почты с помощью регулярных выражений - Полное руководство
  
  ## Базовое сопоставление email
  
  Простейшее регулярное выражение для сопоставления email:
  ```regex
  \S+@\S+\.\S+

Примеры сопоставления:

Сопоставление стандартных форматов email

Регулярное выражение для стандартного формата email:

^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$

Особенности:

  • Разрешает заглавные и строчные буквы, цифры
  • Поддерживает специальные символы, такие как . _ % + -
  • Часть домена должна содержать не менее 2 символов

Строгая проверка email

Стандартное регулярное выражение RFC 5322:

^(?:[a-z0-9!#$%&'*+/=?^_\{|\}~-]+(?:\.[a-z0-9!#$%&'*+/=?^_\{|\}~-]+)*|"(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21\x23-\x5b\x5d-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])*")@(?:(?:[a-z0-9](?:[a-z0-9-]*[a-z0-9])?\.)+[a-z0-9](?:[a-z0-9-]*[a-z0-9])?|\[(?:(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?)\.){3}(?:25[0-5]|2[0-4][0-9]|[01]?[0-9][0-9]?|[a-z0-9-]*[a-z0-9]:(?:[\x01-\x08\x0b\x0c\x0e-\x1f\x21-\x5a\x53-\x7f]|\\[\x01-\x09\x0b\x0c\x0e-\x7f])+)\])$

Поддержка международных email-адресов

Регулярное выражение, поддерживающее символы Unicode:

^[^\s@]+@[^\s@]+\.[^\s@]+$

Или более точная версия:

^[\w-\.]+@([\w-]+\.)+[\w-]{2,4}$

Разбор регулярного выражения

На примере стандартного регулярного выражения email:

^                         # Начало строки
[a-zA-Z0-9._%+-]+        # Часть имени пользователя
@                         # Символ @
[a-zA-Z0-9.-]+           # Часть домена
\.                        # Точка
[a-zA-Z]{2,}             # Домен верхнего уровня
$                         # Конец строки

Примеры реализации на различных языках

JavaScript

const emailRegex = /^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/;

Python

import re
email_regex = re.compile(r'^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$')

PHP

$emailRegex = '/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/';

Java

Pattern emailPattern = Pattern.compile("^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\\.[a-zA-Z]{2,}$");

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

1. Как сопоставить email-адреса с IP-адресами?

^[a-z0-9._%+-]+@([0-9]{1,3}\.){3}[0-9]{1,3}$

2. Как сопоставить email-адреса с номерами портов?

^[a-z0-9._%+-]+@[a-z0-9.-]+:\d+$

3. Как исключить email-адреса из определенных доменов?

^(?!.*@(spamdomain|blocked)\.com$)[a-z0-9._%+-]+@[a-z0-9.-]+\.[a-z]{2,}$

Оптимизация производительности

  1. Используйте незахватывающие группы (?:) вместо захватывающих ().
  2. Избегайте чрезмерно сложных вложенных структур.
  3. Сначала выполните базовую проверку на фронтенде.
  4. Предварительно компилируйте регулярные выражения для высокочастотных сценариев использования.
^(?=[a-z0-9@.!#$%&'*+/=?^_\{|\}~-]{6,254}$)[a-z0-9._%+-]{1,64}@(?:[a-z0-9-]{1,63}\.){1,8}[a-z]{2,63}$