I have this string "1X214X942,0SX" where each X represents a "non-breaking space" (a whitespace to be exact) with the ASCII code 160, and S represents a space character.
I am trying to recognize it with this regex:
(\d{1,3}\s(\d{3}\s)*\d{3}(\,\d{1,3})?|\d{1,3}\,\d{1,3})
but it doesn't work, as this whitespace is not recognized and the expression only catches 942,0.
I have tried to see if RegExr can catch the whole string and it can, ( http://gskinner.com/RegExr/?2v8ic) so there's something wrong with my VBA then ?
Please advise !
Here is my code :
Sub ChangeNumberFromFRformatToENformat()
Dim SectionText As String
Dim RegEx As Object, RegC As Object, RegM As Object
Dim i As Integer
Set RegEx = CreateObject("vbscript.regexp")
With RegEx
    .Global = True
    .MultiLine = False
    .Pattern = "(\d{1,3}\s(\d{3}\s)*\d{3}(\,\d{1,3})?|\d{1,3}\,\d{1,3})"
End With
For i = 1 To ActiveDocument.Sections.Count()
    SectionText = ActiveDocument.Sections(i).Range.Text
    If RegEx.test(SectionText) Then
        Set RegC = RegEx.Execute(SectionText)
        For Each RegM In RegC
            Call ChangeThousandAndDecimalSeparator(RegM.Value)
        Next 'For Each RegM In RegC
        Set RegC = Nothing
        Set RegM = Nothing
    End If
Next 'For i = 6 To ActiveDocument.Sections.Count()
Set RegEx = Nothing
End Sub
 
     
     
    