Что означает символ + в регулярных выражениях

Ответ

Символ + в регулярных выражениях — это квантификатор, который означает «одно или более повторений» предшествующего ему символа, группы или класса символов.

Он требует, чтобы элемент, к которому он применяется, встретился в строке как минимум один раз.

Пример использования:

import re

text = "color, colour, color, colouur"
# Ищем 'colo', затем одну или более букв 'u', затем 'r'
pattern = r"colou+r"

matches = re.findall(pattern, text)
print(matches) # Вывод: ['colour', 'colouur']

# 'color' не будет найдено, так как 'u' отсутствует (0 повторений)

Сравнение с другими квантификаторами:

  • * (звёздочка): ноль или более повторений. colou*r найдет и color, и colour.
  • ? (вопросительный знак): ноль или одно повторение. colou?r найдет color и colour, но не colouur.
  • + (плюс): одно или более повторений. Эквивалентен записи {1,}.

Жадный (Greedy) vs. Ленивый (Lazy) режим

По умолчанию + является жадным: он захватывает максимально длинную последовательность. Чтобы сделать его ленивым (захватить минимально возможную), используется +?.