Извлечение чисел перед специальным символом с помощью re

У меня есть строка вида:

"123:345 876:788"

Как мне с помощью модуля re вытащить только те числа, которые стоят перед двоеточием? Такой вариант

re.findall(r'[0-9]+:', s)

возвращает такие числа только с доп двоеточием, которое мне не нужно. Полученный список конечно можно постобработать, но хотелось бы проделать все без лишних проходов или удалений.


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

Автор решения: MaxU

При использовании re.findall() лучше использовать "захватывающую группу" (capturing group):

n [205]: re.findall(r"(\d+):", s)
Out[205]: ['123', '876']
→ Ссылка