Примеры регулярных выражений

Приведенные ниже примеры показывают, как использовать и составлять простые регулярные выражения. Каждый пример содержит искомый текст, одно или несколько соответствующих ему регулярных выражений, а также примечания, поясняющие использование специальных символов и форматов.

Важно! Поддерживается только синтаксис RE2, который немного отличается от PCRE. Обратите внимание, что регулярные выражения по умолчанию вводятся с учетом регистра.

Примечание. На основе примеров, приведенных ниже, можно составлять более сложные регулярные выражения. Однако для поиска отдельных слов мы рекомендуем использовать параметры Соответствие содержания и Нежелательное содержание.

Поиск точной фразы
Пример использования Поиск фразы сборник законов.
Примеры регулярных выражений Пример 1: (\W|^)сборник\законов(\W|$)

Пример 2: (\W|^)сборник\s{0,3}законов{0,1}(\W|$)

Пример 3: (\W|^)сборник(и)\s{0,3}законов{0,1}(\W|$)
Примечания
  • \W соответствует любому символу, кроме букв, цифр и знака подчеркивания. Этот элемент исключает из поиска символы в начале или конце фразы.
  • В примере 2 элемент \s соответствует пробелу, а {0,3} указывает на то, что между словами сборник и законов может быть от 0 до 3 пробелов.
  • ^ соответствует началу новой строки. Этот элемент позволяет искать с помощью регулярного выражения фразы, которые находятся в начале строки и перед которыми отсутствуют символы.
  • $ соответствует окончанию строки. Этот элемент позволяет искать с помощью регулярного выражения фразы, которые находятся в конце строки и после которых отсутствуют символы.
  • В примере 3 (s) соответствует букве и, а {0,1} указывает на то, что эта буква может встречаться 0 или 1 раз в конце слова "сборник". Таким образом, регулярное выражение ищет словосочетание сборник законов и сборники законов. Другой вариант: вместо {0,1} можно использовать символ "?".

Поиск слова или фразы из списка
Пример использования Поиск любого слова или фразы из приведенного ниже списка:
  • туфта
  • проклятие
  • убирайся
  • бред
  • черт возьми
  • зараза
Пример регулярного выражения (?i)(\W|^)(туфта|проклятие|убирайся|бред|черт\sвозьми|зараза)(\W|$)
Примечания
  • Элемент (...) объединяет все слова, а класс символов \W применяется ко всем словам в круглых скобках.

  • (?i) делает выражение нечувствительным к регистру.

  • \W соответствует любому символу, кроме букв, цифр и знака подчеркивания. Этот элемент исключает из поиска символы в начале или конце слова или фразы из списка.

  • ^ соответствует началу новой строки. Этот элемент позволяет искать с помощью регулярного выражения слова, которые находятся в начале строки и перед которыми отсутствуют символы.

  • $ соответствует окончанию строки. Этот элемент позволяет искать с помощью регулярного выражения слова, которые находятся в конце строки и после которых отсутствуют символы.

  • Знак | соответствует оператору "или"; таким образом, регулярное выражение будет искать каждое слово из списка по отдельности.

  • \s соответствует пробелу. Этот символ используется для разделения слов в фразе.

Поиск слова в разных вариантах написания или со специальными символами
Пример использования Поиск в нежелательных сообщениях слова "виагра" и нескольких вариантов его написания, например:
  • ви@гра
  • веагра
  • ве@гра
  • в№@гр@
Пример регулярного выражения в[ие№][а@]гр[а@]
Примечания
  • Элемент \W не используется, так как до и после любых вариантов написания слова виагра могут быть расположены другие символы. Например, регулярное выражение будет искать слово виагра в следующем тексте:

виагра!! или ***виагра***

  • [ие№] соответствует символам и, е и на позиции второго знака в слове.

Поиск любого адреса электронной почты в определенном домене
Пример использования Поиск любого адреса электронной почты в доменах yahoo.com, hotmail.com и gmail.com.
Пример регулярного выражения (\W|^)[\w.\-]{0,25}@(yahoo|hotmail|gmail)\.com(\W|$)
Примечания
  • \W соответствует любому символу, кроме букв, цифр и знака подчеркивания. Этот элемент исключает из поиска символы в начале или конце адреса электронной почты.
  • ^ соответствует началу новой строки. Этот элемент позволяет искать с помощью регулярного выражения адреса, которые находятся в начале строки и перед которыми отсутствуют символы.
  • $ соответствует окончанию строки. Этот элемент позволяет искать с помощью регулярного выражения адреса, которые находятся в конце строки и после которых отсутствуют символы.
  • Элемент [\w.\-] соответствует любому словообразующему символу (a-z, A-Z, 0-9 и знаку подчеркивания), точке или дефису. Эти символы используются чаще всего в первой части адреса электронной почты. Обратите внимание, что элемент \-, обозначающий дефис, должен находиться в конце списка символов, заключенных в квадратные скобки.
  • Знак \ перед дефисом и точкой исключает эти символы из поиска, т. е. указывает, что тире и точка не являются специальными символами регулярного выражения. Обратите внимание, что экранировать точку, которая находится в квадратных скобках, не нужно.
  • {0,25} указывает на то, что перед символом @ может находиться набор символов, состоящий из 0–25 знаков. Настройки соответствия содержания в электронной почте поддерживают в регулярных выражениях наборы символов длиной до 25 знаков.
  • Элемент (…) объединяет домены, а разделяющий их символ | соответствует оператору "или".

Поиск любого IP-адреса в определенном диапазоне
Пример использования Поиск любого IP-адреса в пределах диапазона 192.168.1.0192.168.1.255.
Примеры регулярных выражений Пример 1: 192\.168\.1\.
Пример 2: 192\.168\.1\.\d{1,3}
Примечания
  • Знак \ перед каждой точкой исключает ее из поиска, т. е. указывает, что точка не является специальным символом регулярного выражения.
  • В примере 1 отсутствуют символы после последней точки, поэтому регулярное выражение будет искать все IP-адреса, которые начинаются с цифр 192.168.1., вне зависимости от последующих цифр.
  • В примере 2 элемент \d соответствует любой цифре от 0 до 9 после последней точки, а {1,3} указывает, что за последней точкой может следовать от 1 до 3 цифр. В этом случае регулярное выражение будет искать все полные IP-адреса, которые начинаются с цифр 192.168.1. Обратите внимание, что такое регулярное выражение также будет находить недопустимые IP-адреса, например 192.168.1.999.

Поиск буквенно-цифровой строки
Пример использования Поиск номеров заказов на покупку, сделанных вашей компанией. Такие номера могут быть представлены в разном формате, например:
  • PO nn-nnnnn
  • PO-nn-nnnn
  • PO# nn nnnn
  • PO#nn-nnnn
  • PO nnnnnn
Пример регулярного выражения (\W|^)po[#\-]{0,1}\s{0,1}\d{2}[\s-]{0,1}\d{4}(\W|$)
Примечания
  • \W соответствует любому символу, кроме букв, цифр и знака подчеркивания. Этот элемент исключает из поиска символы в начале или конце номера.
  • ^ соответствует началу новой строки. Этот элемент позволяет искать с помощью регулярного выражения номера, которые находятся в начале строки и перед которыми отсутствуют символы.
  • $ соответствует окончанию строки. Этот элемент позволяет искать с помощью регулярного выражения номера, которые находятся в конце строки и после которых отсутствуют символы.
  • Элемент [#\-] соответствует знаку решетки или дефису после букв "po", а {0,1} указывает, что любой из этих символов может входить в искомую строку 0 или 1 раз. Обратите внимание, что элемент \-, обозначающий дефис, должен находиться в конце списка символов, заключенных в квадратные скобки.
  • Элемент \s соответствует пробелу, а {0,1} указывает, что он может входить в искомую строку 0 или 1 раз.
  • Элемент \d соответствует любой цифре от 0 до 9, а {2} указывает, что на этой позиции в числе должно быть ровно 2 цифры.

 

Неиспользуемые символы в регулярных выражениях

Регулярные выражения со следующими символами не поддерживаются, так как могут привести к задержкам при обработке вашего письма:

  • * (звездочка)
  • + (знак плюса)

 

Была ли эта статья полезна?
Как можно улучшить эту статью?