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. |
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Propriétés | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Méthodes | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
|
||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
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 | |
|
|
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. |
||||||||
|
||||||||
Paramètres | ||||||||
|
||||||||
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 | |
|
|
Valeur renvoyée | |
Valeur booléenne: true | false. |