regular expression | NN 4 IE 4 ECMA 3
Un objet expression régulière est une instance de l'objet RegExp. Chaque objet expression régulière comprend un modèle permettant de trouver des correspondances au sein d'une chaîne. Les expressions régulières peuvent prendre la forme de simples chaînes ou d'expressions nettement plus puissantes utilisant une notation qui est un langage en soi. L'implémentation d'expressions régulières est très similaire en JavaScript 1.2 et en Perl. Plusieurs ouvrages sur JavaScript1.2. et versions ultérieures traitent de ces concepts.
Pour créer un objet expression régulière, faites précéder et suivre le modèle de barres obliques, puis affectez l'ensemble de l'expression à une variable. L'instruction suivante, par exemple, crée une expression régulière dont le modèle est un simple mot:
Plusieurs méthodes de recherche de modèle dans une chaîne permettent d'utiliser la variable re comme paramètre (vous pouvez également utiliser une expression directement comme paramètre de méthode au lieu de l'affecter à une variable).
La notation d'une expression régulière se compose également d'une série de métacaractères représentant des concepts parfois complexes (tels que la limite de part et d'autre d'un mot), des valeurs numériques ou un ou plusieurs caractères. Par exemple, pour rechercher la combinaison de caractères précités, pour autant qu'il s'agisse d'un mot (et non d'une partie d'un mot tel que “ salutations ”), la notation de l'expression régulière utilise des métacaractères pour indiquer que le modèle inclut, de part et d'autre, les limites du mot:
Le tableau suivant est un exemple de notation d'expression régulière utilisée dans JavaScript 1.2:
Lorsque vous créez une expression régulière, vous pouvez en déterminer le fonctionnement global (ce que vous ferez vraisemblablement si l'expression régulière effectue une opération de recherche et remplacement dans une méthode et que votre objectif est un résultat « Remplacer tout ») et ignorer la casse. Les modificateurs qui activent ces commutateurs sont les lettres g et i. Elles peuvent être utilisées individuellement ou conjointement dans gi.
Une fois le modèle défini à l'aide d'une notation d'expression régulière, l'action se déroule au niveau des méthodes de l'objet expression régulière et des méthodes de l'objet String qui reçoivent les paramètres d'expression régulière.
Caractère | Correspond à | Exemple
--- | --- | ---
\b | Limite du mot | /\bto/ correspond à "tomorrow"/to\b/ correspond à "Soweto"
\B | Indépendant de la limite du mot | /\Bto/ correspond à "stool" et "Soweto"/to\B/ correspond à "stool" et "tomorrow"
\d | Nombre compris entre 0 et 9 | /\d\d/ correspond à “ 42 ”
\D | Valeur non numérique | /\D\D/ correspond à “ de ”
\s | Espace blanc | /sous\scommission/ correspond à “ sous commission ”
\S | Espace non blanc | /sous\Scommission/ correspond à “ sous-commission ”
\w | Lettre, nombre ou caractère de soulignement | /1\w/ correspond à “ 1A ”
\W | Caractère autre qu'une lettre, un nombre ou un caractère de soulignement | /1\W/ correspond à “ 1% ”
. | Tout caractère à l'exception d'une nouvelle ligne | /../ correspond à "Z3"
[...] | L'un des caractères figurant entre crochets | /G[aeiou]i/ correspond à “ =Gai ”
[^...] | Jeu de caractères annulé | /G[^eiou]i/ correspond à “ Gai ”
* | Zéro ou plusieurs fois | /\d*/ correspond à “ ”, “ 5 ” ou “ 444 ”
? | Zéro ou une seule fois | /\d?/ correspond à “ ” ou “ 5 ”
+ | Une ou plusieurs fois | /\d+/ correspond à “ 5 ” ou “ 444 ”
{n} | Exactement “ n ” fois | /\d{2}/ correspond à "55"
{n,} | “ n ” ou plus de fois | /\d{2,}/ correspond à “ 555 ”
{n,m} | Au minimum “ n ” fois, au maximum “ m ” fois | /\d{2,4}/ correspond à "5555"
^ | Au début d'une chaîne ou d'une ligne | /^Pierre/ correspond à “ Pierre dit… ”
$ | A la fin d'une chaîne ou d'une ligne | /Pierre.$/ correspond à “ Bienvenue, Pierre. ”
Propriétés
constructor | global | ignoreCase | lastIndex | source
Méthodes
compile() | exec() | test()
Création d'un objet expression régulière.
    var regExpressionObj = /pattern/ [g | i | gi];
    var regExpressionObj = new RegExp(["pattern", ["g" | "i" | "gi"]]);

constructor | NN 4 IE 4 ECMA 3
| Lecture/écriture
Reportez-vous à cette propriété de l´objet Array.

global, ignoreCase | NN 4 IE 5(Mac)/5.5(Win) ECMA 3
| Lecture seule
Renvoie la valeur booléenne true si les modificateurs g ou i (respectivement) étaient définis au moment de la création de l´instance de l´objet de l´expression régulière qui les contient. Même si les deux modificateurs d'un objet expression régulière sont définis (gi), vous devez tester chaque propriété individuellement.
Exemple
    if (myRE.global && myRE.ignoreCase) {
        ...
    }
Valeur
Valeur booléenne: true | false.

lastIndex | NN 4 IE 4 ECMA 3
| Lecture/écriture
Valeur d'index à base zéro correspondant au caractère de la chaîne où commence la prochaine recherche du modèle. Dans une recherche, la valeur est égale à zéro. Vous pouvez également définir la valeur manuellement si vous souhaitez commencer à un autre emplacement ou omettre certains caractères.
Exemple
    myRE.lastIndex = 30;
Valeur
Nombre entier.

source | NN 4 IE 4 ECMA 3
| Lecture seule
Renvoie une version, sous forme de chaîne, des caractères utilisés pour créer l'expression régulière. La valeur n'inclut pas les séparateurs qui entourent l'expression (barres obliques).
Exemple
    var myREasString = myRE.source;
Valeur
Chaîne.

compile() | NN 4 IE 4 ECMA s.o.
compile("pattern"[, "g" | "i" | "gi"]) |
Compile un modèle d'expression régulière en véritable objet expression régulière. Cette méthode est essentiellement utilisée pour recompiler une expression régulière dont le modèle peut changer durant l'exécution d'un script.
Paramètres
Tout modèle d'expression régulière sous forme de chaîne entre guillemets. Les modificateurs qui indiquent si l´expression a une validité global et si la la casse doit être ignorée ou si ils doivent être tous deux fournis sous la forme d´un paramètre entre guillemets.
Valeur renvoyée
Référence à un objet d´expression régulière.

exec() | NN 4 IE 4 ECMA 3
exec(chaîne) |
Effectue une recherche dans la chaîne passée en paramètre pour le modèle d'expression régulière considéré. Voici le format d'une séquence type:
    var myRE = /somePattern/;
    var resultArray = myRE.exec("someString");
Les propriétés de l'objet statique RegExp et de l´instance expression régulière (myRE dans l'exemple) sont mises à jour à l'aide des informations contenues dans le résultat de la recherche. En outre, la méthode exec() renvoie un tableau de données, dont le contenu est très similaire aux propriétés d'objet RegExp. Le tableau renvoyé contient les propriétés suivantes:
Vous pouvez placer les résultats de la méthode exec() dans une variable, tandis que les valeurs de la propriété RegExp changeront avec l'opération d'expression régulière suivante. Si l'expression régulière est définie pour effectuer une recherche globale, tout appel ultérieur à myRE.exec("someString") continue la recherche à partir de la position de la correspondance précédente.
Si la méthode exec() renvoie une valeur null, c'est qu'aucune correspondance n'a été trouvée.
| Index à base zéro du premier caractère de la chaîne correspondant au modèle
| Chaîne originale recherchée
| Chaîne de caractères correspondant au modèle
| Chaînes des résultats de composants entre parenthèses
Paramètres
Chaîne à rechercher.
Valeur renvoyée
Tableau reprenant les correspondances trouvées, le cas échéant; à défaut, la valeur renvoyée est null.

test() | NN 4 IE 4 ECMA 3
test(chaîne) |
Renvoie la valeur booléenne true s'il y a une correspondance, et false s'il n'y a pas de correspondance de l'expression régulière dans la chaîne transmise comme paramètre. Aucune autre information n'est disponible sur les résultats de la recherche. C'est la manière la plus rapide de déterminer si un modèle a une correspondance dans une chaîne.
Paramètres
Chaîne à rechercher.
Valeur renvoyée
Valeur booléenne: true | false.