mozilla

Revision 260021 of Utilisation des parenthèses de capture

  • Raccourci de la révision : JavaScript//Guide/Travailler_avec_les_expressions_rationnelles/Utilisation_des_parenthèses_de_capture
  • Titre de la révision : Utilisation des parenthèses de capture
  • ID de la révision : 260021
  • Créé :
  • Créateur : Cariboo
  • Version actuelle ? Non
  • Commentaire /* Utilisation des parenthèses de capture */

Contenu de la révision

Utilisation des parenthèses de capture

La partie d'une expression rationnelle située entre parenthèses sera capturée puis mise en mémoire. Par exemple, /a(b)c/ capture les caractères 'abc' et conserve 'b'. Pour récupérer les captures mises entre parenthèses, utilisez le tableau de valeurs de retour : Array {{mediawiki.external(1)}}, {{mediawiki.external(2)}}, ..., {{mediawiki.external('n')}}.

Le nombre de sous-chaînes capturées et conservées est illimité. Le tableau de retour renvoie toutes celles qui ont été trouvées. L'exemple suivant montre comment utiliser les parenthèses de capture.

Exemple 1.
Ce script utilise la méthode replace pour inverser les mots de la chaîne. pour le texte de remplacament, on utilise $1 et $2 pour appeler les premières et secondes captures entre parenthèses.

<SCRIPT LANGUAGE="JavaScript1.2">
re = /(\w+)\s(\w+)/;
str = "John Smith";
newstr = str.replace(re, "$2, $1");
document.write(newstr)
</SCRIPT>

On obtient "Smith, John".

Example 2.
Dans cet exemple, RegExp.input est initialisé par l'événement Change. Dans la fonction getInfo, la méthode exec, appelée grâce à la notation (), utilise la valeur de RegExp.input comme argument.

<HTML>

<SCRIPT LANGUAGE="JavaScript1.2">
function getInfo(){
   a = /(\w+)\s(\d+)/();
   window.alert(a[1] + ", your age is " + a[2]);
}
</SCRIPT>

Enter your first name and your age, and then press Enter.

<FORM>
<INPUT TYPE="text" NAME="NameAge" onChange="getInfo(this);">
</FORM>

</HTML>

{{template.PreviousNext("Core_JavaScript_1.5_Guide:Working_with_Regular_Expressions", "Core_JavaScript_1.5_Guide:Working_with_Regular_Expressions:Executing_a_Global_Search%2C_Ignoring_Case%2C_and_Considering_Multiline_Input")}}

{{ wiki.languages( { "pl": "pl/Przewodnik_po_j\u0119zyku_JavaScript_1.5/Praca_z_wyra\u017ceniami_regularnymi/U\u017cycie_odpowiedniego_znaku" } ) }}

Source de la révision

<p>
</p>
<h4 name="Utilisation_des_parenth.C3.A8ses_de_capture"> Utilisation des parenthèses de capture </h4>
<p>La partie d'une expression rationnelle située entre parenthèses sera capturée puis mise en mémoire. Par exemple, <code>/a(b)c/</code> capture les caractères 'abc' et conserve 'b'. Pour récupérer les captures mises entre parenthèses, utilisez le tableau de valeurs de retour : Array {{mediawiki.external(1)}}, {{mediawiki.external(2)}}, ..., {{mediawiki.external('n')}}.
</p><p>Le nombre de sous-chaînes capturées et conservées est illimité. Le tableau de retour renvoie toutes celles qui ont été trouvées. L'exemple suivant montre comment utiliser les parenthèses de capture.
</p><p><b>Exemple 1.</b><br>
Ce script utilise la méthode <code>replace</code> pour inverser les mots de la chaîne. pour le texte de remplacament, on utilise <code>$1</code> et <code>$2</code> pour appeler les premières et secondes captures entre parenthèses.
</p>
<pre>&lt;SCRIPT LANGUAGE="JavaScript1.2"&gt;
re = /(\w+)\s(\w+)/;
str = "John Smith";
newstr = str.replace(re, "$2, $1");
document.write(newstr)
&lt;/SCRIPT&gt;
</pre>
<p>On obtient "Smith, John".
</p><p><b>Example 2.</b><br>
Dans cet exemple, <code>RegExp.input</code> est initialisé par l'événement <code>Change</code>. Dans la fonction <code>getInfo</code>, la méthode <code>exec</code>, appelée grâce à la notation (), utilise la valeur de <code>RegExp.input</code> comme argument.
</p>
<pre>&lt;HTML&gt;

&lt;SCRIPT LANGUAGE="JavaScript1.2"&gt;
function getInfo(){
   a = /(\w+)\s(\d+)/();
   window.alert(a[1] + ", your age is " + a[2]);
}
&lt;/SCRIPT&gt;

Enter your first name and your age, and then press Enter.

&lt;FORM&gt;
&lt;INPUT TYPE="text" NAME="NameAge" onChange="getInfo(this);"&gt;
&lt;/FORM&gt;

&lt;/HTML&gt;
</pre>
<p>{{template.PreviousNext("Core_JavaScript_1.5_Guide:Working_with_Regular_Expressions", "Core_JavaScript_1.5_Guide:Working_with_Regular_Expressions:Executing_a_Global_Search%2C_Ignoring_Case%2C_and_Considering_Multiline_Input")}}
</p>{{ wiki.languages( { "pl": "pl/Przewodnik_po_j\u0119zyku_JavaScript_1.5/Praca_z_wyra\u017ceniami_regularnymi/U\u017cycie_odpowiedniego_znaku" } ) }}
Revenir à cette révision