projman/hlp/fr/tcl/regsub.htm
2015-10-19 14:27:31 +04:00

39 lines
5.2 KiB
HTML

<HTML><HEAD>
<BASEFONT FACE="Times New Roman" SIZE="2" COLOR="#000000">
</HEAD>
<BODY>
<div><b>regsub&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;Commandes Internes Tcl</b></div>
<HR ALIGN="center">
<div><b>NOM</b></div><br>
<div ALIGN="LEFT" style="margin-left: 51px;">regsub - Effectue des substitutions de chaînes basées sur l'identification d'expressions rationnelles<br>
</div><br>
<div><b>SYNTAXE</b></div><br>
<div ALIGN="LEFT" style="margin-left: 51px;"><b>regsub </b>?<i>switches</i>? <i>exp string subSpec varName</i>&nbsp;
</div><br>
<div><b>DESCRIPTION</b></div><br>
<div ALIGN="LEFT" style="margin-left: 51px;">Cette commande cherche une correspondance de l'expression<i> exp</i> dans <i>string</i>, et elle copie <i>string</i> dans la variable dont le nom est donné par <i>varName</i>. (la correspondance avec les expressions rationnelles est décrite dans la page de référence de <A HREF="150.htm"><b>re_syntax</b></A>.) S'il y a une correspondance, alors pendant la copie de <i>string</i> vers <i>varName</i>, la partie de &quot;string&quot; qui correspond à &quot;exp&quot; est remplacée par <i>subSpec</i>. Si <i>subSpec</i> contient un ''&amp;'' ou ''&#92;0'', cette séquence est remplacée lors de la substitution, par la partie de chaîne qui correspond à &quot;exp&quot;. Si <i>subSpec</i> contient un ''&#92;n'' où n est un chiffre entre 1 et 9, cette séquence est remplacée pendant la substitution par la partie de chaîne qui correspond à la n_ième sous expression de &quot;exp&quot;. Pour éviter cette interprétation spéciale de ''&amp;'',&nbsp; ''&#92;0'' ou ''&#92;n'', on peut ajouter des antislashs additionnels. Attention, l'usage d'antislashs dans <i>subSpec</i> tend à provoquer des conflits avec l'emploi des antislashs dans le parser de Tcl, c'est pourquoi il est souvent plus s&ucirc;r d'encadrer <i>subSpec</i> par des accolades s'il contient des antislashs. Si les arguments initiaux de <A HREF="152.htm"><b>regexp</b></A> commencent avec -, ils sont alors traités comme des switchs. Les switchs suivants sont actuellement reconnus:</div>
<div ALIGN="LEFT" style="margin-left: 51px;">
<DL>
<DT><b>-all</b><br></DT><DD>Toutes les séquences dans &quot;string&quot; qui interceptent &quot;exp&quot; sont trouvées et la substitution est faite sur chacune de ces séquences. Sans ce switch, seule la première séquence est substituée. Si -all est indiqué, alors les séquences ''&amp;' et ''&#92;n'' sont traitées pour chaque substitution en utilisation l'information de l'interception adéquate.
</DD>
<DT><b>-expanded</b><br></DT><DD>Autorise l'utilisation d'expressions rationnelles étendues, où le blanc et les commentaires sont ignorés. Ceci est la même chose que d'indiquer l'option embarquée (?x). (voir METASYNTAXE, dans la page re_syntax)
</DD>
<DT><b>-line</b><br></DT><DD>Autorise la sensibilité au retour-chariot (newline). Par défaut newline est un caractère ordinaire sans signification particulière. Avec ce switch, les expressions entre crochets '&#91;^' et le '.' n'interceptent jamais newline, '^' intercepte une chaîne vide après newline en complément de sa fonction normale, et '&#36;' intercepte une chaîne vide avant newline en plus de sa fonction normale. Ce switch est équivalent aux switchs <b>-linestop</b> et -<i>lineanchor</i> réunis, ou bien à l'option embarquée (?<b>n</b>). (voir METASYNTAXE, dans la page re_syntax )
</DD>
<DT><b>-linestop</b><br></DT><DD>Change le comportement des expressions entre crochets '&#91;^' et l'expression '.' de façon qu'ils s'interrompent en rencontrant des retours chariots (newline). Ceci est équivalent à l'option embarquée (?p). (voir METASYNTAXE, dans la page re_syntax)
</DD>
<DT><b>-lineanchor</b><br></DT><DD>Change le comportement des expression '^' et '&#36;' (les ''ancres'') de telle sorte qu'ils interceptent respectivement le début et la fin d'une ligne. Ceci est le même que d'indiquer l'option embarquée (?w). (voir METASYNTAXE, dans la page re_syntax)
</DD>
<DT><b>-nocase</b><br></DT><DD>Les lettres majuscules de &quot;string&quot; seront converties en minuscules avant d'être comparées à &quot;exp&quot;; cependant les substitutions indiquées par subSpec utilisent la forme originale, avant conversion, de &quot;string&quot;.
</DD>
<DT><b>-start</b> <i>index</i><br></DT><DD>Indique une position de caractère dans string, à partir de laquelle il faut commencer la recherche d'expression rationnelle. Quand on utilise ce switch, '^' n'interceptera pas le début de la ligne, et &#92;A interceptera toujours le début de la chaîne à l'index indiqué. L'index sera contraint dans les limites effectives de la chaîne entrée.
</DD>
<DT>--</DT><DD>Marque la fin des switches. L'argument suivant cette fin sera traité comme étant l'expresssion &quot;exp&quot;, même s'il commence par -.</DD>
</DL>
</div><br>
<div ALIGN="LEFT" style="margin-left: 51px;">Cette commande renvoie le nombre de séquences qui ont été interceptées et remplacées. Voir le manuel à <A HREF="152.htm"><b>regexp</b></A> pour des précisions sur l'interprétation des expressions rationnelles.</div><br>
<div>Dernière révision: 8.3</div>
<br>
<br><div ALIGN="CENTER"><A HREF="index.htm"><b>Index</b></A>&nbsp;&nbsp;<A HREF="153.htm"><b>Précédent</b></A>&nbsp;&nbsp;<A HREF="155.htm"><b>Suivant</b></A></div>
</BODY></HTML>