L'objet SubMatches représente une collection de sous-correspondances.

objet.SubMatches(n)

Une sous-correspondance provient d'un modèle d'expression régulière décomposé par des sous-expressions entre parenthèses.

objet.modèle = "...(sous-expression)...(sous-expressionN)..."
' N valant au maximum 99

objet.Pattern = "(\w+)@(\w+).(\w+)"

L'exmple ci-dessus permet de décomposer une adresse email en trois sous-correspondances $1, $2 et $3 ou en utlisant l'objet SubMatches en :

' correspond à objet.$1 et donc (\w+) avant @.
objet.SubMatches(0)
' correspond à objet.$2 et donc (\w+) après @.
objet.SubMatches(1)
' correspond à objet.$3 et donc (\w+) après le point.
objet.SubMatches(2)
Les propriétés
Propriété
Description
objet.Count
retourne le nombre de correspondances présentes dans une collection.
objet.Item(clé)
retourne un item basé sur l'argument clé spécifiée.
Exemple : [voir]
<html>
  <body>
    <%
      Dim adresse, resultat

      Function recherche(modele, chaine)
        Dim objet
        Dim correspondance
        Dim collection
        Dim i, fin, tableau

        Set objet = New RegExp
        objet.Pattern = modele
        objet.IgnoreCase = True
        objet.Global = True
        Set collection = objet.Execute(chaine)
        Set correspondance = collection(0)

        resultat = "<tr><td>Protocole</td><td>" _
                         & correspondance.SubMatches(0) & "</td></tr>" _
                         & "<tr><td>Domaine</td><td>" _
                         & correspondance.SubMatches(1) & "</td></tr>" _
                         & "<tr><td>Port</td><td>" _
                         & correspondance.SubMatches(2) & "</td></tr>" _
                         & "<tr><td>Répertoire</td><td>" _
                         & correspondance.SubMatches(3) & "</td></tr>" _
                         & "<tr><td>Fichier</td><td>" _
                         & correspondance.SubMatches(4) & "</td></tr>" _
                         & "<tr><td>Ancre</td><td>" _
                         & correspondance.SubMatches(5) & "</td></tr>"

        recherche = resultat
      End Function

      adresse = "http://www.laltruiste.com:80/coursasp/sommaire.html#ancre"

      resultat = recherche(_
                      "(\w+):\/\/([^/:]+):?(\d*)?\/(.*[^.])\/(\w+.\w+)#?(\w+)?", _
                                                                                           adresse)

      Response.Write "<h3>Décomposition d'une adresse URL " _
                           & "(Uniform Resource Locator)</h3>" _
                           & "<h4>URL : " & adresse & "</h4>" _
                           & "<table border='1' cellpadding='3'>" _
                           & resultat & "</table>"
    %>
  </body>
</html>