Regex - Разбить строку 2aab13c на подстроки

Прошу подсказать, как разбить строку 2aab13c на подстроки 2aab и 13c.

Пробовал так:

import re

print(re.match(r'(\d+\w+)', '2aab13c'))

но не сработало.


Ответы (1 шт):

Автор решения: Wiktor Stribiżew

Например:

re.findall(r'\d+\D*', text)

См. пример работы регулярного выражения. Подробности

  • \d+ - одна и более цифр
  • \D* - ноль и более символов, отличных от цифр.

Ещё один вариант - это использование re.split:

re.split(r'(?<=\D)(?=\d)', text)

См. пример работы регулярного выражения. (?<=\D)(?=\d) находит позиции в строке между нецифровым и цифровым символами.

См. пример работы кода.

→ Ссылка