diff options
Diffstat (limited to 'files/fr/web/javascript/guide/regular_expressions/character_classes/index.md')
-rw-r--r-- | files/fr/web/javascript/guide/regular_expressions/character_classes/index.md | 181 |
1 files changed, 181 insertions, 0 deletions
diff --git a/files/fr/web/javascript/guide/regular_expressions/character_classes/index.md b/files/fr/web/javascript/guide/regular_expressions/character_classes/index.md new file mode 100644 index 0000000000..ba3e075bce --- /dev/null +++ b/files/fr/web/javascript/guide/regular_expressions/character_classes/index.md @@ -0,0 +1,181 @@ +--- +title: Classes de caractères +slug: Web/JavaScript/Guide/Regular_Expressions/Character_Classes +tags: + - Classes + - Guide + - JavaScript + - RegExp +translation_of: Web/JavaScript/Guide/Regular_Expressions/Character_Classes +original_slug: Web/JavaScript/Guide/Expressions_régulières/Classes_de_caractères +--- +<p>{{jsSidebar("JavaScript Guide")}}{{draft}}</p> + +<p>Les classes de caractères permettent de distinguer différents ensembles de caractères dans les expressions rationnelles (par exemple les chiffres d'une part et les lettres d'autre part).</p> + +<h2 id="Types">Types</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Caractères</th> + <th scope="col">Signification</th> + </tr> + </thead> + <tbody> + </tbody> + <tbody> + <tr> + <td><code>.</code></td> + <td> + <p>Par défaut, (Le point) correspond à n'importe quel caractère excepté un caractère de saut de ligne.</p> + + <p>Ainsi, <code>/.n/</code> correspond à 'un' et 'en' dans "Un baobab nain en cours de croissance" mais pas à 'nain'.</p> + + <p>Si le marqueur <code>s</code> (<em>dotAll</em>) est utilisé, le point correspondra également aux caractères de saut de ligne.</p> + + <p>Le marqueur <code>m</code> ne modifie pas le comportement du point.</p> + + <p>Attention, si on utilise le point dans <a href="/fr/docs/Web/JavaScript/Guide/Expressions_régulières/Groupes_et_intervalles">un intervalle de caractères</a>, il n'aura plus cette signification spéciale.</p> + </td> + </tr> + <tr> + <td><code>\d</code></td> + <td> + <p>Correspond à un chiffre et est équivalent à <code>[0-9]</code>.</p> + + <p>Ainsi, <code>/\d/</code> ou <code>/[0-9]/</code> correspond à '2' dans "H2O est la molécule de l'eau".</p> + </td> + </tr> + <tr> + <td><code>\D</code></td> + <td> + <p>Correspond à tout caractère qui n'est pas un chiffre et est équivalent à<code> [^0-9]</code>.</p> + + <p>Ainsi, <code>/\D/</code> ou <code>/[^0-9]/</code> correspond à 'H' dans "H2O est la molécule de l'eau".</p> + </td> + </tr> + <tr> + <td><code>\w</code></td> + <td> + <p>Correspond à n'importe quel caractère alphanumérique de l'alphabet latin, y compris le tiret bas. C'est équivalent à <code>[A-Za-z0-9_]</code>.</p> + + <p>Ainsi, <code>/\w/</code> correspond à 'l' dans "licorne", à '5' dans "5,28€", et à '3' dans "3D."</p> + </td> + </tr> + <tr> + <td><code>\W</code></td> + <td> + <p>Correspond à n'importe quel caractère n'étant pas un caractère de l'alphabet latin ou le tiret bas. Cela est équivalent à <code>[^A-Za-z0-9_]</code>.</p> + + <p>Ainsi, <code>/\W/</code> ou <code>/[^A-Za-z0-9_]/</code> correspond à '%' dans "50%."</p> + </td> + </tr> + <tr> + <td><code>\s</code></td> + <td> + <p>Correspond à un blanc (cela comprend les espace, tabulation, saut de ligne ou saut de page). C'est équivalent à <code>[ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]</code>.</p> + + <p>Ainsi, <code>/\s\w*/</code> correspond à ' toto' dans "truc toto".</p> + </td> + </tr> + <tr> + <td><code>\S</code></td> + <td> + <p>Correspond à un caractère qui n'est pas un blanc. C'est équivalent à <code>[^ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff]</code>.</p> + + <p>Ainsi, <code>/\S\w*/</code> correspond à 'truc' dans "truc toto".</p> + </td> + </tr> + <tr> + <td><code>\t</code></td> + <td>Correspond à une tabulation (U+0009).</td> + </tr> + <tr> + <td><code>\r</code></td> + <td>Correspond à un retour chariot (U+000D).</td> + </tr> + <tr> + <td><code>\n</code></td> + <td>Correspond à un saut de ligne (U+000A).</td> + </tr> + <tr> + <td><code>\v</code></td> + <td>Correspond à une tabulation verticale (U+000B).</td> + </tr> + <tr> + <td><code>\f</code></td> + <td>Correspond à un saut de page (U+000C).</td> + </tr> + <tr> + <td><code>[\b]</code></td> + <td>Correspond pour un retour arrière (U+0008). (À ne pas confondre avec <code>\b</code>, voir <a href="/fr/docs/Web/JavaScript/Guide/Expressions_régulières/Limites">les limites</a>).</td> + </tr> + <tr> + <td><code>\0</code></td> + <td>Correspond au caractère NULL (U+0000). Il ne doit pas être suivi d'un autre chiffre car <code>\0<chiffres></code> est une <a href="/fr/docs/Web/JavaScript/Guide/Types_et_grammaire#Les_caractères_d'échappement">séquence d'échappement</a> pour les nombres en notation octale (si besoin d'utiliser un chiffre ensuite, on pourra utiliser la forme <code>\x00</code>, cf. ci-après).</td> + </tr> + <tr> + <td><code>\cX</code></td> + <td> + <p>Correspond au caractère de contrôle où <code><em>X</em></code> est une lettre entre A et Z. Correspond au caractèlres de contrôle correspondant entre <code>U+0001</code>-<code>U+001F</code>. Ainsi, <code>/\cM/</code> correspondra au caractère controle-M au sein d'une chaîne de caractères soit <code>"\r"</code> pour <code>"\r\n"</code>.</p> + </td> + </tr> + <tr> + <td><code>\xhh</code></td> + <td>Correspond au caractère dont le code hexadécimal est hh (deux chiffres hexadécimaux).</td> + </tr> + <tr> + <td><code>\uhhhh</code></td> + <td>Correspond au caractère dont le code est hhhh (quatre chiffres hexadécimaux).</td> + </tr> + <tr> + <td><code>\u{hhhh}</code> ou <code>\u{hhhhh}</code></td> + <td>(Uniquement actif quand le marqueur <code>u</code> est activé) Correspond au caractère dont la valeur Unicode est <code>hhhh</code> (en chiffre hexadécimaux).</td> + </tr> + <tr> + <td><code>\</code></td> + <td> + <p>La barre oblique inversée indique que le prochain caractère doit être traité spécifiquement ou échappé. Elle se comporte d'une de ces façons :</p> + + <ul> + <li>Pour les caractères normalement traités littéralement, cela indique que le prochain caractère est spécial et qu'il ne doit pas être interprété littéralement. Ainsi, <code>/b/</code> correspondra à la lettre "b" mais en utilisant la barre oblique inversée devant <code>/\b/</code>, on cherchera une limite de mot.</li> + <li>Pour les caractères spéciaux, la barre indique que le caractère doit être interprété littéralement. Ainsi, "*" est un caractère spécial (un quantificateur qui signifie que le caractère précédent doit être présent 0 ou plusieurs fois) : <code>/a*/</code> cherchera une correspondance avec 0 ou plusieurs "a". Si on souhaite trouver le caractère <code>*</code> dans une chaîne, on placera la barre oblique inversée devant : on a ainsi <code>/a\*/</code> qui permet de trouver "a*" dans une chaîne.</li> + </ul> + + <div class="blockIndicator note"> + <p><strong>Note :</strong> L'échappement vaut également avec la barre oblique inversée. Autrement dit, si on cherche la présence de <code>\</code> dans une chaîne, on pourra utiliser l'expression <code>/\\/</code> (où la première barre oblique échape la seconde).</p> + </div> + </td> + </tr> + </tbody> +</table> + +<h2 id="Spécifications">Spécifications</h2> + +<table class="standard-table"> + <thead> + <tr> + <th scope="col">Spécification</th> + <th scope="col">État</th> + <th scope="col">Commentaires</th> + </tr> + </thead> + <tbody> + <tr> + <td>{{SpecName('ES3')}}</td> + <td>{{Spec2('ES3')}}</td> + <td>Définition initiale. Implémentée avec JavaScript 1.1.</td> + </tr> + </tbody> +</table> + +<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> + +<p>{{Compat("javascript.builtins.RegExp.property_escapes")}}</p> + +<h2 id="Voir_aussi">Voir aussi</h2> + +<ul> + <li>{{JSxRef("RegExp")}}</li> +</ul> |