2016-04-03 14 views
1

Ich versuche, einige Daten aus XML mit regulären Ausdruck in VBA zu extrahieren, indem Anfang und Ende Tag eines Elements zu öffnen, aber ich bin nicht alles bekommen.Wie man eine mehrzeilige beliebige Zeichen Übereinstimmung einschließlich Newline-Zeichen mit RegEx in VBA

I <foo>.+?<\/foo> in Notepad verwenden können ++, aber seine Arbeit nicht in VBA mit Microsoft Regular Expression 5,5

<foo> 
variable data here 
- 
- 
</foo> 
+0

können Sie versuchen, '/ [. \ N \ r] +? <\/foo>/gm' – Redu

Antwort

0

Dies ist ein Beispiel alle <td> Inhalte aufzulisten:

Sub MatchXMLtags() 
    Dim xml As String 
    xml = "<td>a</td><td>b" & vbCrLf & "</td><td>c</td>" & vbCrLf & "<td>d</td>" 

    Dim match As Object 
    With CreateObject("VBScript.RegExp") 
    .pattern = "<td>\s*([\S\s]+?)\s*</td>" 
    .Global = True 
    .IgnoreCase = True 
    .MultiLine = False 

    ' display the content of each td tag 
    For Each match In .Execute(xml) 
     Debug.Print match.SubMatches(0) 
    Next 
    End With 
End Sub