Skip to content

Latest commit

 

History

History
28 lines (21 loc) · 1.65 KB

File metadata and controls

28 lines (21 loc) · 1.65 KB

2.12 Операция ИЛИ

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

r'Привет|Пока'

(см. пример)

  • если использовать в скобочных выражениях или группах, то НЕ затронет символы извне
  • в lookbehind можно использовать '|', только если все шаблоны одинаковой длины
    • Для того, чтобы обойти такое исключение, нужно использовать | в non-capturing group

      (?:(?<=hi!)|(?<=long_text))

# Задача: Нужно найти слово Hi или Bye

wrong_regex = r'[Hi|Bye]'
# Неправильное регулярное выражение, т.к. оно равносильно следующему выражению [BHeiy|]
# Квадратные скобки используются только для замены символов, условие или в них не работает

correct_regex = r'(Hi|Bye)'
# Поставленную выше задачу решает

correct_regex2 = r'(?:Hi|Bye)'
# Non-capturing group идеально подходит для группировки шаблонов

correct_regex3 = r'Hi|Bye'
# Шаблон без групппировки. Также работает, поставленную выше задачу решает