Collection de chaînes de sous-correspondance d›une expression régulière.
Une collection SubMatches contient des chaînes de sous-correspondance individuelles, et peut être créée seulement à l'aide de la méthode Execute de l'objet RegExp. La collection SubMatches possède uniquement la propriété d'être en lecture seule.
Lorsqu'une expression régulière est exécutée, il en résulte aucune, une ou plusieurs sous-correspondances lorsque les sous-expressions sont comprises entre des parenthèses de capture. Chaque élément de la collection SubMatches est la chaîne trouvée et capturée par l›expression régulière.
Le code suivant montre la façon d'obtenir une collection SubMatches en utilisant une recherche d'expression régulière et la façon d›accéder à ses membres individuels :
Function SubMatchTest(inpStr)
Dim oRe, oMatch, oMatches
Set oRe = New RegExp
' Rechercher une adresse électronique(pas une RegExp parfaite)
oRe.Pattern = "(\w+)@(\w+)\.(\w+)"
' Obtenir la collection Matches
Set oMatches = oRe.Execute(inpStr)
' Obtenir le premier élément de la collection Matches
Set oMatch = oMatches(0)
' Créer la chaîne de résultats.
' L›objet Match est la correspondance exacte - dragon@xyzzy.com
retStr = "L›adresse électronique est : " & oMatch & vbNewline
' Obtenir les sous-correspondances de l›adresse.
retStr = retStr & "L›alias de l›adresse est : " & oMatch.SubMatches(0) ' dragon
retStr = retStr & vbNewline
retStr = retStr & "La société est : " & oMatch. SubMatches(1)' xyzzy
SubMatchTest = retStr
End Function
MsgBox(SubMatchTest("Veuillez envoyer un courrier électronique à dragon@xyzzy.com. Merci!"))
Propriété, Count | Propriété, Item
For Each...Next, instruction | Match, Objet | Matches, Collection |RegExp, Objet