Как работать с последовательностями символов в регулярных выражениях?

Рейтинг: -1Ответов: 1Опубликовано: 17.02.2025

Задача найти в строке (CDCDCDFFCDFFFCD) последовательность символов, в которой будет ровно две подстроки "CD" и я не понимаю как работает синтаксис регулярных выражений

print(re.findall('(СD)+', s))

Этот код выводит "CD", хотя в приведенной выше строке "CD" повторяется подряд 3 раза, а скобки вроде как объединяют, то что внутри них написано.

Как работать с последовательностями символов в регулярных выражениях?

Ответы

▲ 2Принят

Если я вас правильно понял:

import re

string = "CDCDCDFFCDFFFCD"
print(re.findall('(?:CD){2}', string))

Вывод:

['CDCD']
  • Используем "non-capturing group" (?:), чтобы можно было группировать символы без того, чтобы они попадали в виде этой группы в итоговую выдачу
  • Задаём нужное количество повторений для группы с помощью фигурных скобок {}