Notation d'expression régulière pour HTTP Server
Cette rubrique présente une vue d'ensemble de la notation des expressions régulières pour le serveur Web IBM HTTP Server for i.
Une notation d'expression régulière spécifie un modèle de chaînes de caractères. Une ou plusieurs expressions régulières peuvent être utilisées pour créer un modèle de correspondance. Certains caractères (parfois appelés caractères génériques) ont une signification particulière. Le tableau suivant décrit le schéma de correspondance de modèle couramment utilisé.
Correspondance de modèle d'expression régulière
| Masque | Description |
|---|---|
| string | Une chaîne sans caractères spéciaux correspond aux valeurs qui contiennent la chaîne. |
| [set] | Correspond à un caractère unique spécifié par l'ensemble de caractères uniques entre les crochets. |
| [a-z] | Correspond à un caractère de la plage indiquée entre crochets. |
| [^abc] | Correspond à tout caractère unique non spécifié dans l'ensemble de caractères uniques entre les crochets. |
| {n} | Correspond exactement à n fois. |
| {n,} | Correspond au moins à n fois. |
| {n,m} | Correspond à au moins n fois, mais pas plus de m fois. |
| ^ | Correspond au début de la chaîne. |
| $ | Correspond à la fin de la chaîne. |
| . | Correspond à n'importe quel caractère (à l'exception de Newline). |
| * | Correspond à zéro ou plusieurs caractères précédents. |
| + | Correspond à un ou plusieurs caractères précédents. |
| ? | Correspond à un ou à zéro caractère précédent. |
| string1|string2 | Correspond à string1 ou string2. |
| \ | Indique un caractère d'échappement. Lorsqu'il précède l'un des caractères ayant une signification spéciale, le caractère d'échappement supprime toute signification spéciale du caractère. Par exemple, la barre oblique inversée est utile pour supprimer la signification spéciale d'un point dans une adresse IP. |
| (group) | Regrouper un caractère dans une expression régulière. Si une correspondance est trouvée, le premier groupe est accessible à l'aide de $ 1. Le deuxième groupe est accessible à l'aide de $ 2 et ainsi de suite. |
| (?<name>regex) | Groupe de capture nommé. Capture le texte mis en correspondance par "regex" dans le groupe "name". Le nom peut contenir des lettres et des chiffres mais doit commencer par une lettre. |
| \1 through \9 | Référence arrière. Remplacé par le texte correspondant au groupe de capture numéroté de 1 à 9. |
| \10 through \99 | Référence arrière. Remplacé par le texte correspondant au groupe de capture numéroté de 10 à 99. |
| \w | Correspond à un caractère alphanumérique. |
| \W | Correspond à un caractère qui n'est pas un caractère alphanumérique. |
| \s | Correspond à un caractère blanc. |
| \S | Correspond à un caractère qui n'est pas un espace |
| \t | Caractère de tabulation. |
| \n | Caractère de retour à la ligne. |
| \r | Caractère de retour. |
| \f | Caractère de saut de page. |
| \v | Caractère de tabulation verticale. |
| \a | Caractère de cloche. |
| \b | limite de mot |
| \B | n'est pas une limite de mot |
| \0dd | Caractère octal, par exemple \076 correspond au caractère "> ". Remarque: d doit être compris entre 0 et 7
|
| \ddd | Caractère octal, par exemple \101 correspond au caractère "A". Remarque: d doit être compris entre 0 et 7
|
| \o{ddd..} | Caractère octal, par exemple \o{123} correspond au caractère "S" Remarque: d doit être compris entre 0 et 7
|
| \xnn | Le caractère hexadécimal, par exemple \x41 , correspond au caractère "A". |
| \cx | Caractère de contrôle, par exemple \cJ correspond au caractère de nouvelle ligne "\n". Remarque: x correspond à n'importe quel caractère d'impression ASCII
|
| \d | Correspond à un chiffre décimal |
| \D | Correspond à un caractère qui n'est pas un chiffre décimal |
| \Q...\E | Séquence d'échappement. Les caractères compris entre \Q et \E sont traités comme des littéraux |
Exemples de correspondance de modèle d'expression régulière
| Masque | Exemples de chaînes qui correspondent |
|---|---|
| ibm | ibm01, myibm, aibmbc |
| ^ibm$ | ibm |
| ^ibm0[0-4][0-9]$ | ibm000 through ibm049 |
| ibm[3-8] | ibm3, myibm4, aibm5b |
| ^ibm | ibm01, ibm |
| ibm$ | myibm, ibm, 3ibm |
| ibm... | ibm123, myibmabc, aibm09bcd |
| ibm*1 | ibm1, myibm1, aibm1abc, ibmkkkkk12 |
| ^ibm0.. | ibm001, ibm099, ibm0abcd |
| ^ibm0..$ | ibm001, ibm099 |
| 10.2.1.9 | 10.2.1.9, 10.2.139.6, 10.231.98.6 |
| ^10\.2\.1\.9$ | 10.2.1.9 |
| ^10\.2\.1\.1[0-5]$ | 10.2.1.10, 10.2.1.11, 10.2.1.12, 10.2.1.13, 10.2.1.14, 10.2.1.15 |
| ^192.\.168\..*\..*$ | (Toutes les adresses sur le sous-réseau de classe B 192.168.0.0) |
| ^192.\.168\.10\..*$ | (Toutes les adresses sur le sous-réseau de classe C 192.168.10.0) |