I have strings like this:

```
df
[1] "XID\t5647: asasaasa" "XID\t1540"  

```

how could I pick only numbers after "XID\t" by using gsub?
I've used gsub as follows:

```
gsub(".*XID\t(.*)\\:.*", "\\1", df)
>[1] "5647"     "XID\t1540"

```

or 

```
gsub(".*XID\t(.*)", "\\1", df)
>[1] "5647: asasaasa" "1540" 

```

but I expect it like this:

```
[1] "5647" "1540" 

```

I think cases are overlap, so I have to use gsub twice so that I could pick them like I want. Please give me your idea, thank you.