ImperiumGuardBot Help

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

Регулярные выражения (RegEx) — это шаблоны для поиска и манипулирования текстом. С помощью этих шаблонов вы можете находить, заменять или выделять текст, соответствующий определённым правилам.

Если вы уже знакомы с регулярными выражениями, рекомендуем перейти к главе ограничения регулярных выражений.

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

Рекомендуем сайт regex101.com для тестирования регулярных выражений.

  • .: Соответствует любому символу, кроме новой строки.

  • *: Соответствует нулю или более повторениям предыдущего символа или группы.

  • +: Соответствует одному или более повторениям предыдущего символа или группы.

  • ?: Соответствует нулю или одному повторению предыдущего символа или группы.

  • ^: Соответствует началу строки.

  • $: Соответствует концу строки.

  • []: Соответствует любому символу из указанных в скобках. Например, [abc] соответствует любому из символов 'a', 'b' или 'c'.

  • [^]: Соответствует любому символу, не указанному в скобках. Например, [^abc] соответствует любому символу, кроме 'a', 'b' и 'c'.

  • {n}: Соответствует ровно n повторениям предыдущего символа или группы.

  • {n,}: Соответствует n или более повторениям предыдущего символа или группы.

  • {n,m}: Соответствует от n до m повторениям предыдущего символа или группы.

  • (): Группирует часть регулярного выражения, позволяя применять к ней квантификаторы и использовать ее в качестве единого целого.

  • |: Оператор "или". Соответствует либо выражению слева от |, либо выражению справа от |.

  • \: Экранирует специальные символы, позволяя искать их как обычные символы. Например, \\ соответствует символу обратного слэша.

Примеры

Цифры

\d

Находит все отдельные цифры в тексте.

Буквы

[a-zA-Z]

Находит любую букву от 'a' до 'z' или от 'A' до 'Z'.

Email-адреса

Шаблон: ^[\w\.-]+@[a-zA-Z\d\.-]+\.[a-zA-Z]{2,}$

^[\w\.-]+ — начало строки, один или больше символов (букв, цифр, точек или дефисов).
@ — символ "собака".
[a-zA-Z\d\.-]+ — один или больше символов (букв, цифр, точек или дефисов).
\. — экранированная точка.
[a-zA-Z]{2,}$ — две или более буквы латинского алфавита до конца строки.

Поиск слова

\bслово\b

Найдёт слово "слово", которое стоит отдельно (ограничено пробелами или началом/концом строки).

Поиск номеров телефонов

\(\d{3}\) \d{3}-\d{4}

Найдёт номера телефонов в формате (XXX) XXX-XXXX.

Ограничения регулярных выражений

Имперский стражник накладывает несколько ограничений на регулярные выражения:

Обратные ссылки

Имперский стражник не поддерживает обратные ссылки, которые являются номерными ссылками на ранее совпавшие группы, например: \1, \2 и так далее.

Опережающие утверждения

Имперский стражник не поддерживает опережающие утверждения, которые позволяют проверять, что за ними следует определенный текст, например: (?=...), (?!...), (?<=...), (?<!...).

20 июля 2024