diff options
Diffstat (limited to 'files/fr/web/javascript/reference/objets_globaux/regexp/n/index.html')
-rw-r--r-- | files/fr/web/javascript/reference/objets_globaux/regexp/n/index.html | 68 |
1 files changed, 68 insertions, 0 deletions
diff --git a/files/fr/web/javascript/reference/objets_globaux/regexp/n/index.html b/files/fr/web/javascript/reference/objets_globaux/regexp/n/index.html new file mode 100644 index 0000000000..ecbda5eac8 --- /dev/null +++ b/files/fr/web/javascript/reference/objets_globaux/regexp/n/index.html @@ -0,0 +1,68 @@ +--- +title: RegExp.$1-$9 +slug: Web/JavaScript/Reference/Objets_globaux/RegExp/n +tags: + - JavaScript + - Non-standard + - Propriété + - Reference + - RegExp +translation_of: Web/JavaScript/Reference/Global_Objects/RegExp/n +--- +<div>{{JSRef}} {{non-standard_header}}</div> + +<p>Les propriétés non-standard <strong>$1, $2, $3, $4, $5, $6, $7, $8, $9</strong> sont des propriétés statiques accessibles en lecture qui contiennent les différents groupes capturés par une expression rationnelle.</p> + +<h2 id="Syntaxe">Syntaxe</h2> + +<pre class="syntaxbox"><var>RegExp</var>.$1 +RegExp.$2 +RegExp.$3 +RegExp.$4 +RegExp.$5 +RegExp.$6 +RegExp.$7 +RegExp.$8 +RegExp.$9 +</pre> + +<h2 id="Description">Description</h2> + +<p>Les propriétés $1, ..., $9 sont des propriétés statiques. Ce ne sont pas des propriétés rattachées à une expression rationnelle donnée. Pour cette raison, on utilisera toujours la syntaxe <code>RegExp.$1</code>, ..., <code>RegExp.$9</code>.</p> + +<p>Les valeurs de ces propriétés ne sont accessibles qu'en lecture et sont modifiées par le moteur à chaque fois qu'une nouvelle correspondance est trouvée.</p> + +<p>Le nombre de groupe d'une expression rationnelle n'est pas limité. Cependant, l'objet <code>RegExp</code> ne contient que les neufs premiers groupes. Pour accéder à chacun des groupes liés à une expression rationnelle donnée, on pourra utiliser les indices du tableau relevant les correspondances.</p> + +<p>Ces propriétés peuvent être utilisées pour le texte de remplacement de la méthode {{jsxref("String.replace")}}. Avec cette méthode, on ne préfixera pas les valeurs par <code>RegExp</code> (voir l'exemple ci-après), lorsque les parenthèses groupantes ne sont pas utilisées dans l'expression, <code>$n</code> sera interprété littérallement (avec <code>n</code> un entier positif).</p> + +<h2 id="Exemples">Exemples</h2> + +<p>Dans le script qui suit, on utilise {{jsxref("String.prototype.replace()", "replace()")}} d'une instance de {{jsxref("String")}} pour inverser le premier mot et le dernier et placer une virgule entre. Le script utilise <code>$1</code> et <code>$2</code> pour faire référence aux groupes de l'expression rationnelle :</p> + +<pre class="brush: js">var re = /(\w+)\s(\w+)/; +var str = 'Jean Biche'; +str.replace(re, '$2, $1'); // "Biche, Jean" +RegExp.$1; // "Jean" +RegExp.$2; // "Biche" +</pre> + +<h2 id="Spécifications">Spécifications</h2> + +<p>Ces propriétés ne sont pas standard, elles ne font partie d'aucune spécification.</p> + +<h2 id="Compatibilité_des_navigateurs">Compatibilité des navigateurs</h2> + +<div class="hidden">Ce tableau de compatibilité a été généré à partir de données structurées. Si vous souhaitez contribuer à ces données, n'hésitez pas à envoyer une <em>pull request</em> sur <a href="https://github.com/mdn/browser-compat-data">https://github.com/mdn/browser-compat-data</a>.</div> + +<p>{{Compat("javascript.builtins.RegExp.n")}}</p> + +<h2 id="Voir_aussi">Voir aussi</h2> + +<ul> + <li>{{non-standard_inline}} {{jsxref("RegExp.input", "RegExp.input ($_)")}}</li> + <li>{{non-standard_inline}} {{jsxref("RegExp.lastMatch", "RegExp.lastMatch ($&)")}}</li> + <li>{{non-standard_inline}} {{jsxref("RegExp.lastParen", "RegExp.lastParen ($+)")}}</li> + <li>{{non-standard_inline}} {{jsxref("RegExp.leftContext", "RegExp.leftContext ($`)")}}</li> + <li>{{non-standard_inline}} {{jsxref("RegExp.rightContext", "RegExp.rightContext ($')")}}</li> +</ul> |