import re
s = 'words here plus num A18-11186 B7 and Q12-45786 D3'
У меня есть следующая строка, и я хочу извлечь A18-11186 B7
и Q12-45786 D3
с помощью регулярных выражений.Я попробовал следующее
reg = r'\b(?=\d*[A-Z])((?:[A-Z0-9]+-)(?:\d+-)?\d+)\b'
r1 = re.findall(reg,s)
, которое дает мне
['A18-11186', 'Q12-45786']
Это близко к тому, что я хочу, за исключением того, что пропущены пробел, буква и цифра.
Как изменить reg
, чтобы получить желаемый результат?
желаемый результат
['A18-11186 B7', 'Q12-45786 D3']