Синтаксис регулярных выражений позволяет писать такие выражения, которые найдут нужные строки при соответствии их хотя бы одному из выражений.
r'Привет|Пока'
(см. пример)
- если использовать в скобочных выражениях или группах, то НЕ затронет символы извне
- в lookbehind можно использовать '|', только если все шаблоны одинаковой длины
- Для того, чтобы обойти такое исключение, нужно использовать | в non-capturing group
(?:(?<=hi!)|(?<=long_text))
- Для того, чтобы обойти такое исключение, нужно использовать | в non-capturing group
# Задача: Нужно найти слово 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'
# Шаблон без групппировки. Также работает, поставленную выше задачу решает