Цитирование через регулярные выражения python

Это должно быть проще, чем то, с чем я сталкиваюсь. Моя проблема заключается в том, что строка выглядит так:

ABC12DEF3G56HIJ7 

в

 12 * ABC 3 * DEF 56 * G 7 * HIJ 

И я не могу, для своей жизни, создать правильный набор циклов, используя соответствие REGEX. Суть проблемы заключается в том, что код должен быть полностью общим, потому что я не могу предположить, сколько времени будут фрагменты [AZ] , а также как долго будут [0-9] фрагменты.

Спасибо за любую помощь!

2 Solutions collect form web for “Цитирование через регулярные выражения python”

Python re.findall должен работать на вас.

Демо-версия

 import re s = "ABC12DEF3G56HIJ7" pattern = re.compile(r'([AZ]+)([0-9]+)') for (letters, numbers) in re.findall(pattern, s): print(numbers, '*', letters) 

Лучше использовать re.finditer, если ваш набор данных большой:

 import re s = "ABC12DEF3G56HIJ7" pattern = re.compile(r'([AZ]+)([0-9]+)') for m in re.finditer(pattern, s): print m.group(2), '*', m.group(1) 
  • python: добавление пунктуации с пробелами (сохранение пунктуации)
  • Регулярное выражение для UK Mobile Number - Python
  • Как сгенерировать несколько деревьев синтаксического анализа для двусмысленного предложения в NLTK?
  • Python сравнивает строку с несколькими регулярными выражениями
  • Самый быстрый способ вычеркивания пунктуации из строки юникода в Python
  • словарь для доступа к python с подстановочными знаками
  • python pandas.Series.str.contains WHOLE WORD
  • Разделить строку на пробелы в Python
  • Python - лучший язык программирования в мире.