Classes de caractères

Brouillon
Cette page n'est pas terminée.

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).

Types

Caractères Signification
.

Par défaut, (Le point) correspond à n'importe quel caractère excepté un caractère de saut de ligne.

Ainsi, /.n/ correspond à  'un' et 'en' dans "Un baobab nain en cours de  croissance" mais pas à 'nain'.

Si le marqueur s (dotAll) est utilisé, le point correspondra également aux caractères de saut de ligne.

Le marqueur m ne modifie pas le comportement du point.

Attention, si on utilise le point dans un intervalle de caractères, il n'aura plus cette signification spéciale.

\d

Correspond à un chiffre et est équivalent à [0-9].

Ainsi, /\d/ ou /[0-9]/ correspond à '2' dans "H2O est la molécule de l'eau".

\D

Correspond à tout caractère qui n'est pas un chiffre et est équivalent à [^0-9].

Ainsi, /\D/ ou /[^0-9]/ correspond à 'H' dans "H2O est la molécule de l'eau".

\w

Correspond à n'importe quel caractère alphanumérique de l'alphabet latin, y compris le tiret bas. C'est équivalent à [A-Za-z0-9_].

Ainsi, /\w/ correspond à 'l' dans "licorne", à '5' dans "5,28€", et à '3' dans "3D."

\W

Correspond à n'importe quel caractère n'étant pas un caractère de l'alphabet latin ou le tiret bas. Cela est équivalent à [^A-Za-z0-9_].

Ainsi, /\W/ ou /[^A-Za-z0-9_]/ correspond à '%' dans "50%."

\s

Correspond à un blanc (cela comprend les espace, tabulation, saut de ligne ou saut de page). C'est équivalent à [ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff].

Ainsi, /\s\w*/ correspond à ' toto' dans "truc toto".

\S

Correspond à un caractère qui n'est pas un blanc. C'est équivalent à [^ \f\n\r\t\v\u00a0\u1680\u2000-\u200a\u2028\u2029\u202f\u205f\u3000\ufeff].

Ainsi, /\S\w*/ correspond à 'truc' dans "truc toto".

\t Correspond à une tabulation (U+0009).
\r Correspond à un retour chariot (U+000D).
\n Correspond à un saut de ligne (U+000A).
\v Correspond à une tabulation verticale (U+000B).
\f Correspond à un saut de page (U+000C).
[\b] Correspond pour un retour arrière (U+0008). (À ne pas confondre avec \b, voir les limites).
\0 Correspond au caractère NULL (U+0000). Il ne doit pas être suivi d'un autre chiffre car \0<chiffres> est une séquence d'échappement pour les nombres en notation octale (si besoin d'utiliser un chiffre ensuite, on pourra utiliser la forme \x00, cf. ci-après).
\cX

Avec X une lettre entre A et Z. Correspond au caractèlres de contrôle correspondant. Ainsi, /\cM/ correspondra au caractère controle-M au sein d'une chaîne de caractères.

\xhh Correspond au caractère dont le code hexadécimal est hh (deux chiffres hexadécimaux).
\uhhhh Correspond au caractère dont le code est hhhh (quatre chiffres hexadécimaux).
\u{hhhh} ou \u{hhhhh} (Uniquement actif quand le marqueur u est activé) Correspond au caractère dont la valeur Unicode est hhhh (en chiffre hexadécimaux).
\

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 :

  • 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, /b/ correspondra à la lettre "b" mais en utilisant la barre oblique inversée devant /\b/, on cherchera une limite de mot.
  • 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) : /a*/ cherchera une correspondance avec 0 ou plusieurs "a". Si on souhaite trouver le caractère * dans une chaîne, on placera la barre oblique inversée devant : on a ainsi /a\*/ qui permet de trouver "a*" dans une chaîne.

Note : L'échappement vaut également avec la barre oblique inversée. Autrement dit, si on cherche la présence de \ dans une chaîne, on pourra utiliser l'expression /\\/ (où la première barre oblique échape la seconde).

Spécifications

Spécification État Commentaires
ECMAScript 3rd Edition (ECMA-262) Standard Définition initiale. Implémentée avec JavaScript 1.1.

Compatibilité des navigateurs

Update compatibility data on GitHub
OrdinateurMobileServeur
ChromeEdgeFirefoxInternet ExplorerOperaSafariWebview AndroidChrome pour AndroidEdge MobileFirefox pour AndroidOpera pour AndroidSafari sur iOSSamsung InternetNode.js
Unicode property escapes (\p{...})Chrome Support complet 64Edge ? Firefox Aucun support NonIE ? Opera Support complet 51Safari ? WebView Android Support complet 64Chrome Android Support complet 64Edge Mobile ? Firefox Android Aucun support NonOpera Android Support complet 47Safari iOS ? Samsung Internet Android Support complet Ouinodejs ?

Légende

Support complet  
Support complet
Aucun support  
Aucun support
Compatibilité inconnue  
Compatibilité inconnue

Voir aussi

Étiquettes et contributeurs liés au document

Étiquettes : 
Contributeurs à cette page : SphinxKnight
Dernière mise à jour par : SphinxKnight,