У меня есть строки, которые выглядят так:
sometext 3x 24x5 x 17.5 x 3 sometext
И я хотел бы объединить все экземпляры di git + необязательный пробел + x + необязательный пробел + di git в di git + х + ди git. Желаемый результат:
sometext 3x24x5x17.5x3 sometext
Мое текущее регулярное выражение выглядит нормально, но почему-то не работает:
re.sub(r'(\d)\s?([x])\s?(\d)', r'\1\2\3', 'sometext 3x 24x5 x 17.5 x 3 sometext')
Выход
sometext 3x24x5 x 17.5x3 sometext
Кажется, это должно делать с тем фактом, что 24x5 уже захвачено выражением, поэтому оно не учитывает 5 x 17. Мой вопрос будет, как настроить мое регулярное выражение для желаемой цели, и есть ли более чистый / эффективный способ напишите это регулярное выражение, чем мой подход? Спасибо!