What you want to do will not be achieved by some basic PATINDEX, you will need to run a loop for the string and get every numeric value out of it. Consider the following SQL function as an example.
CREATE FUNCTION NumbersFromString (@string VARCHAR(100))
RETURNS VARCHAR(100)
AS
BEGIN
DECLARE @loc INT
SET @loc = PATINDEX('%[^0-9]%', @string )
BEGIN
WHILE @loc > 0
BEGIN
SET @string = STUFF(@string , @loc, 1, '' )
SET @loc = PATINDEX('%[^0-9]%', @string )
END
END
RETURN ISNULL(@string, 0)
END;