I have the below code that keeps the numbers in a string. It keeps the points regardless, but I want to keep the points IF THEY ARE FOLLOWED BY A DIGIT. So the function should give me the following results. What should I change in the regular expression pattern to get such results?
Input | Output
. . 0.236 | 0.236
bfbv0.011 | 0.011
. ..11 | 0.11
. rty12.45dt | 12.45
qw-23.25 | -23.25
was 12.52. | 12.52
will be +336 | 336
Code:
Public Function NumericOnly(s As String) As String
    Dim s2 As String
    Dim replace_hyphen As String
    replace_hyphen = " "
    Static re As VBScript_RegExp_55.RegExp
    If re Is Nothing Then Set re = New RegExp
    re.IgnoreCase = True
    re.Global = True
    re.Pattern = "[^0-9.-]+"
    s2 = re.Replace(s, vbNullString)
    NumericOnly = re.Replace(s2, replace_hyphen)
End Function