```
import re
s = 'words here plus num A18-11186 B7  and Q12-45786 D3'

```

I have the following string and I want to extract `A18-11186 B7` and `Q12-45786 D3` using regular expressions. I have tried the following

```
reg = r'\b(?=\d*[A-Z])((?:[A-Z0-9]+-)(?:\d+-)?\d+)\b'
r1 = re.findall(reg,s)

```

Which gives me 

```
['A18-11186', 'Q12-45786']

```

This is close to what I want except it is missing a space, letter, and digit. 

How do I change my `reg` to get my desired output?

desired output

```
['A18-11186 B7', 'Q12-45786 D3']

```