Шаблон регулярного выражения соответствует ровно n раз - PullRequest
0 голосов
/ 21 мая 2019

Предположим, у меня есть шаблон * 123 * 234 * 567, который повторяется ровно три раза (как комбинация * и (. *?).

Как мне написать регулярное выражение, что шаблон может соответствовать только 3 раза, а не более или менее?

1 Ответ

1 голос
/ 21 мая 2019

Вы можете использовать группу без захвата и искать 3 последовательных совпадений.Не уверен, что вы хотите сопоставить между звездочками, я предположил цифры и буквенно-цифровые символы:

s = '*42*998 *123*234*567 *123*123'

re.findall(r'(?:\*(?:\d+|\w+)+){3}', s)
# '*123*234*567']
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...