Счет содержит строки услуг и промежуточных итогов:
Service1 1058 187822_MB 1 000 000
Service2 48 02:42:39 2 000 000
Subtotal 3 302 5998
Service3 8 4 000 000
Subtotal 4 302 5998
сумма — третье число справа.
Как извлечь строки услуг без строк промежуточных итогов?
Результат должен быть
Service1 1
Service2 2
Service3 4
Регулярное выражение https://regex101.com/r/ZKUMtQ/1
(?(?!(Subtotal))\S+)[^\n]*? (?\d+) \d+ \d+
возвращает также строки промежуточных итогов без первой буквы S
Service1 1
Service2 2
ubtotal 3
Service3 4
ubtotal 4
Подробнее здесь: https://stackoverflow.com/questions/798 ... rom-result