If you want a simple formula and the ability to extract as many individual numbers as there may be, you could add a custom function to your worksheet. It would evaluate the entire text string and pull out all numeric values.

If your text string were in A1, then this formula in B1:

=NUMS(A1)
..would result in 4089, 4111

Or:
=NUMS(A1, "-")
...would result in 4089-4111 by using the optional second parameter to use a custom delimiter.

Here's the UDF I have for this:
Option Explicit

Function NUMS(RNG As Range, Optional Delim As String) As String
If RNG.Cells.Count > 1 Then
    NUMS = "1 cell only"
    Exit Function
End If

If Delim = "" Then Delim = ", "
Dim buf As String, i As Long, MyArr
buf = RNG

MyArr = Array("-", ",", "&")    'add more replacement characters here

For i = LBound(MyArr) To UBound(MyArr)
    buf = Replace(buf, MyArr(i), " ")
Next i

MyArr = Split(Trim(buf), " ")
buf = ""
    For i = LBound(MyArr) To UBound(MyArr)
        If IsNumeric(MyArr(i)) Then buf = buf & Delim & MyArr(i)
    Next i

If buf = "" Then
    NUMS = "none"
Else
    NUMS = Mid(buf, Len(Delim) + 1, Len(buf))
End If
End Function
I highlighted in red the only part of the code you might need to edit, it's the characters to search for in the string and replace with spaces... so far just a dash, comma and ampersand.

How to install the User Defined Function:

1. Open up your workbook
2. Get into VB Editor (Press Alt+F11)
3. Insert a new module (Insert > Module)
4. Copy and Paste in your code (given above)
5. Get out of VBA (Press Alt+Q)
6. Save your sheet

The function is installed and ready to use.