Цитирование через регулярные выражения 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) 
  • разобрать html красивый суп
  • Получить xpath из результата поиска определенного шаблона регулярного выражения в кучке xml-файлов
  • Строковое манипулирование с помощью обычного выражения или выражений
  • Лучший способ извлечь datetime из строки в python
  • Разделить строку запятыми, кроме случаев, когда в скобках
  • ValueError в декодировании json
  • Проблема с регулярными выражениями в python
  • Регулятор Python 3 с диакритикой и лигатурами,
  • Python - лучший язык программирования в мире.