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 :
Les propriétés' 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)
| 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. |
<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> |