diff options
Diffstat (limited to 'Master/tlpkg/texworks/texworks-help/TeXworks-manual/fr/Expressionsregulieres.html')
-rw-r--r-- | Master/tlpkg/texworks/texworks-help/TeXworks-manual/fr/Expressionsregulieres.html | 810 |
1 files changed, 810 insertions, 0 deletions
diff --git a/Master/tlpkg/texworks/texworks-help/TeXworks-manual/fr/Expressionsregulieres.html b/Master/tlpkg/texworks/texworks-help/TeXworks-manual/fr/Expressionsregulieres.html new file mode 100644 index 00000000000..582b2ca3341 --- /dev/null +++ b/Master/tlpkg/texworks/texworks-help/TeXworks-manual/fr/Expressionsregulieres.html @@ -0,0 +1,810 @@ +<?xml version="1.0"?> +<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Strict//EN" + "http://www.w3.org/TR/xhtml1/DTD/xhtml1-strict.dtd"> + +<html xml:lang="fr" xmlns="http://www.w3.org/1999/xhtml" lang="fr"> +<head> +<meta name="generator" content= +"HTML Tidy for Linux (vers 25 March 2009), see www.w3.org" /> + +<title>B Expressions regulières</title> +<meta http-equiv="Content-Type" content= +"text/html; charset=utf-8" /> +<meta name="generator" content= +"TeX4ht (http://www.tug.org/tex4ht/)" /> +<meta name="originator" content= +"TeX4ht (http://www.tug.org/tex4ht/)" /> +<!-- info,2,imgdir:images/,sec-filename,next,index=2,url-enc,html --> +<meta name="src" content="index.tex" /> +<meta name="date" content="2015-04-03 14:29:00" /> +<link rel="stylesheet" type="text/css" href="index.css" /> +<style type="text/css" xml:space="preserve"> +/*<![CDATA[*/ + tr.c12 {vertical-align:baseline;} + td.c11 {white-space:wrap; text-align:left;} + td.c10 {white-space:nowrap; text-align:left;} + div.c9 {white-space:nowrap; text-align:left;} +/*]]>*/ +</style> +</head> + +<body> +<!--l. 5--> + +<p class="noindent"></p> + +<div id="container"> +<!--l. 5--> + +<div class="crosslinks"> +<p class="noindent">[<a href="CompilerTw.html">next</a>] [<a href= +"AdaptationdeTw.html">prev</a>] [<a href= +"AdaptationdeTw.html#tailAdaptationdeTw.html">prev-tail</a>] +[<a href="#tailExpressionsregulieres.html">tail</a>] [<a href= +"index.html#Expressionsregulieres.html">up</a>]</p> +</div><!--l. 5--> + +<p class="indent"></p> + +<div class="chapternumber"> +B +</div> + +<h1><a id="x48-51000B" name="x48-51000B"></a>Expressions +régulières</h1><!--l. 8--> + +<p class="indent">Comme T<sub>E</sub>Xworks est construit sur Qt4, +les expressions régulières<a id="dx48-51001" name="dx48-51001"></a> +– souvent appelées <em>regexp</em> – disponibles sont un +sous-ensemble de celles trouvées dans Qt4. Voir le site de Qt4. +<span class="footnote-mark"><a href= +"index49.html#fn1x10"><sup class= +"textsuperscript">1</sup></a></span><a id="x48-51002f1" name= +"x48-51002f1"></a> pour plus d’information. Il est possible de +trouver d’autres informations sur les expressions régulières sur le +net <span class="footnote-mark"><a href= +"index50.html#fn2x10"><sup class= +"textsuperscript">2</sup></a></span><a id="x48-51003f2" name= +"x48-51003f2"></a> ou dans des livres. Mais faites attention que +tous les systèmes (langages de programmation, éditeurs,...) +n’utilisent pas le même ensemble d’instructions<span class= +"frenchb-thinspace"> </span>; il n’y a malheureusement pas « +d’ensemble standard ».</p> + +<h3 class="sectionHead"><span class="titlemark">B.1</span> <a id= +"x48-52000B.1" name="x48-52000B.1"></a>Introduction</h3><a id= +"dx48-52001" name="dx48-52001"></a> <!--l. 14--> + +<p class="noindent">Lorsqu’on recherche et remplace, on doit +définir le texte à trouver. Ce peut être le texte lui-même (ex. « +Abracadabra »), mais souvent il est nécessaire de définir les +chaînes d’une façon plus générale et puissante pour éviter de +répéter la même opération plusieurs fois avec seulement de faibles +changements d’une fois à l’autre<span class= +"frenchb-thinspace"> </span>; si, par exemple, on veut +remplacer des séquences de la lettre « a » par un « o », mais pas +toutes les séquences, seulement celles de 3 à 7 +<b>a</b><span class="frenchb-thinspace"> </span>; ceci +demanderait de répéter 5 fois l’opération de remplacement en +l’ajustant légèrement. Un autre exemple<span class= +"frenchb-nbsp"> </span>: remplacer toutes les voyelles par +<b>§</b>, encore 5 remplacements. C’est ici qu’interviennent les +expressions régulières<span class= +"frenchb-thinspace"> </span>! <!--l. 16--></p> + +<p class="indent">Un simple caractère (a ou 9) représente lui-même. +Mais on peut définir un ensemble de caractères<span class= +"frenchb-nbsp"> </span>: <b>[aeiou]</b> correspondra à toute +voyelle, <b>[abcdef]</b> aux lettres <b>a b c d e f</b><span class= +"frenchb-thinspace"> </span>; ce dernier ensemble peut être +abrégé en <b>[a-f]</b> en utilisant « <b>-</b> » entre les deux +extrémités de l’intervalle. On peut même combiner ceci<span class= +"frenchb-nbsp"> </span>: <b>[a-zA-Z0-9]</b> va correspondre à +toutes les lettres et tous les chiffres. <!--l. 18--></p> + +<p class="indent">Pour définir un ensemble à exclure <span class= +"footnote-mark"><a href="index51.html#fn3x10"><sup class= +"textsuperscript">3</sup></a></span><a id="x48-52002f3" name= +"x48-52002f3"></a>, on utilise « <b>^</b> »<span class= +"frenchb-nbsp"> </span>: le circonflexe rend l’ensemble +négatif s’il apparaît comme le premier caractère, c’est-à-dire +juste après le crochet d’ouverture. <b>[^abc]</b> correspond à tout +sauf <b>a b c</b>.</p> + +<h3 class="sectionHead"><span class="titlemark">B.2</span> <a id= +"x48-53000B.2" name="x48-53000B.2"></a>Codes pour certains +ensembles spéciaux</h3><a id="dx48-53001" name="dx48-53001"></a> +<!--l. 23--> + +<p class="noindent">Lorsqu’on utilise les expressions régulières, +on doit très souvent créer des chaînes qui représentent d’autres +chaînes de façon générale. Si, par exemple, vous cherchez une +chaîne qui représente une adresse de courriel, les lettres et +symboles vont varier<span class="frenchb-thinspace"> </span>; +cependant vous pourriez rechercher toute chaîne correspondant à une +adresse de courriel (<tt>texte@texte.texte</tt> – en général). Il y +a des abréviations pour représenter les lettres, les chiffres, +symboles,... <!--l. 25--></p> + +<p class="indent">Ces codes remplacent et facilitent la définition +d’ensembles<span class="frenchb-thinspace"> </span>; par +exemple, pour représenter en toutes lettres les chiffres +<b>[0-9]</b>, on peut utiliser « <b>\d</b> ». Le tableau page +suivante liste les codes de remplacement. <span class= +"footnote-mark"><a href="index52.html#fn4x10"><sup class= +"textsuperscript">4</sup></a></span><a id="x48-53002f4" name= +"x48-53002f4"></a></p> + +<div class="table"> +<!--l. 29--> + +<p class="indent"></p> +<hr class="float" /> + +<div class="float"> +<!--l. 29--> + +<p class="noindent"><!--tex4ht:inline--></p> + +<div class="tabular"> +<table id="TBL-9" class="tabular" cellspacing="0" cellpadding="0"> +<colgroup id="TBL-9-1g"> +<col id="TBL-9-1" /> +<col id="TBL-9-2" /> +</colgroup> + +<tr class="c12" id="TBL-9-1-"> +<td id="TBL-9-1-1" class="td11 c10"> +<div class="multicolumn c9"> +Élément +</div> +</td> + +<td id="TBL-9-1-2" class="td11 c11"> +<!--l. 31--> + +<p class="noindent">Signification</p> +</td> +</tr> + +<tr class="c12" id="TBL-9-2-"> +<td id="TBL-9-2-1" class="td11 c11"> +<!--l. 33--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">c</span></p> +</td> + +<td id="TBL-9-2-2" class="td11 c11"> +<!--l. 33--> + +<p class="noindent">Tout caractère se représente lui-même, à moins +qu’il n’aie une signification particulière dans les expressions +régulières. Ainsi c correspond au caractère c.</p> +</td> +</tr> + +<tr class="c12" id="TBL-9-3-"> +<td id="TBL-9-3-1" class="td11 c11"> +<!--l. 34--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">\c</span></p> +</td> + +<td id="TBL-9-3-2" class="td11 c11"> +<!--l. 34--> + +<p class="noindent">Un caractère qui suit une contre-oblique +correspond au caractère lui-même à moins de mention ci-dessous. Par +exemple, si vous voulez chercher un circonflexe en début de chaîne +vous devriez écrire « <span class= +"obeylines-h verb ec-lmtt-12">\^</span> ».</p> +</td> +</tr> + +<tr class="c12" id="TBL-9-4-"> +<td id="TBL-9-4-1" class="td11 c11"> +<!--l. 35--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">\n</span></p> +</td> + +<td id="TBL-9-4-2" class="td11 c11"> +<!--l. 35--> + +<p class="noindent">Ceci correspond au caractère ASCII <em>passage +à la ligne</em> (LF, <em>à la ligne</em> de Unix, utilisé dans +T<sub>E</sub>Xworks).</p> +</td> +</tr> + +<tr class="c12" id="TBL-9-5-"> +<td id="TBL-9-5-1" class="td11 c11"> +<!--l. 36--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">\r</span></p> +</td> + +<td id="TBL-9-5-2" class="td11 c11"> +<!--l. 36--> + +<p class="noindent">Ceci correspond à l’ASCII <em>retour à la +ligne</em> (CR).</p> +</td> +</tr> + +<tr class="c12" id="TBL-9-6-"> +<td id="TBL-9-6-1" class="td11 c11"> +<!--l. 37--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">\t</span></p> +</td> + +<td id="TBL-9-6-2" class="td11 c11"> +<!--l. 37--> + +<p class="noindent">Ceci est la tabulation horizontale +(ASCII<span class="frenchb-nbsp"> </span>: HT).</p> +</td> +</tr> + +<tr class="c12" id="TBL-9-7-"> +<td id="TBL-9-7-1" class="td11 c11"> +<!--l. 38--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">\v</span></p> +</td> + +<td id="TBL-9-7-2" class="td11 c11"> +<!--l. 38--> + +<p class="noindent">La tabulation verticale (ASCII<span class= +"frenchb-nbsp"> </span>: VT).</p> +</td> +</tr> + +<tr class="c12" id="TBL-9-8-"> +<td id="TBL-9-8-1" class="td11 c11"> +<!--l. 39--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">\xhhhh</span></p> +</td> + +<td id="TBL-9-8-2" class="td11 c11"> +<!--l. 39--> + +<p class="noindent">Correspond au caractère Unicode de +représentation hexadécimale hhhh (entre 0x0000 et 0xFFFF). +<span class="obeylines-h verb ec-lmtt-12">\0ooo</span> (i.e., +zero-ooo) correspond au caractère ASCII/Latin-1 correspondant au +nombre octal ooo (entre 0 et 0377).</p> +</td> +</tr> + +<tr class="c12" id="TBL-9-9-"> +<td id="TBL-9-9-1" class="td11 c11"> +<!--l. 40--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">.</span> <span class= +"ec-lmbx-12">(point)</span></p> +</td> + +<td id="TBL-9-9-2" class="td11 c11"> +<!--l. 40--> + +<p class="noindent">Correspond à n’importe quel caractère (y +compris <em>passage à la ligne</em>). Dès lors si vous voulez +trouver le <em>point</em>, il faut lui ajouter un échappement « +<span class="obeylines-h verb ec-lmtt-12">\.</span> ».</p> +</td> +</tr> + +<tr class="c12" id="TBL-9-10-"> +<td id="TBL-9-10-1" class="td11 c11"> +<!--l. 41--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">\d</span></p> +</td> + +<td id="TBL-9-10-2" class="td11 c11"> +<!--l. 41--> + +<p class="noindent">Correspond à un chiffre.</p> +</td> +</tr> + +<tr class="c12" id="TBL-9-11-"> +<td id="TBL-9-11-1" class="td11 c11"> +<!--l. 42--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">\D</span></p> +</td> + +<td id="TBL-9-11-2" class="td11 c11"> +<!--l. 42--> + +<p class="noindent">Correspond à un non-chiffre.</p> +</td> +</tr> + +<tr class="c12" id="TBL-9-12-"> +<td id="TBL-9-12-1" class="td11 c11"> +<!--l. 43--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">\s</span></p> +</td> + +<td id="TBL-9-12-2" class="td11 c11"> +<!--l. 43--> + +<p class="noindent">Correspond à une espace (espace blanc).</p> +</td> +</tr> + +<tr class="c12" id="TBL-9-13-"> +<td id="TBL-9-13-1" class="td11 c11"> +<!--l. 44--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">\S</span></p> +</td> + +<td id="TBL-9-13-2" class="td11 c11"> +<!--l. 44--> + +<p class="noindent">Correspond à une non-espace.</p> +</td> +</tr> + +<tr class="c12" id="TBL-9-14-"> +<td id="TBL-9-14-1" class="td11 c11"> +<!--l. 45--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">\w</span></p> +</td> + +<td id="TBL-9-14-2" class="td11 c11"> +<!--l. 45--> + +<p class="noindent">Correspond à un caractère d’un mot ou « +<span class="obeylines-h verb ec-lmtt-12">_</span> »).</p> +</td> +</tr> + +<tr class="c12" id="TBL-9-15-"> +<td id="TBL-9-15-1" class="td11 c11"> +<!--l. 46--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">\W</span></p> +</td> + +<td id="TBL-9-15-2" class="td11 c11"> +<!--l. 46--> + +<p class="noindent">Correspond à un caractère non mot.</p> +</td> +</tr> + +<tr class="c12" id="TBL-9-16-"> +<td id="TBL-9-16-1" class="td11 c11"> +<!--l. 47--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">\n</span><span class="ec-lmbx-12">, . +. .</span></p> +</td> + +<td id="TBL-9-16-2" class="td11 c11"> +<!--l. 47--> + +<p class="noindent">La n<img src="images/ec-lmr12-19.png" alt="i" +class="12x-x-19" />ème référence antérieure, ex. <span class= +"obeylines-h verb ec-lmtt-12">\1</span>, <span class= +"obeylines-h verb ec-lmtt-12">\2</span>, etc.<span class= +"frenchb-thinspace"> </span>; utilisé dans les chaînes de +remplacement avec des motifs de capture – voir plus bas</p> +</td> +</tr> + +<tr class="c12" id="TBL-9-17-"> +<td id="TBL-9-17-1" class="td11 c11"></td> +</tr> +</table> +</div> +</div> +<hr class="endfloat" /> +</div><!--l. 53--> + +<p class="indent">Il est préférable d’utiliser les abréviations que +de décrire les ensembles, car les abréviations restent valables +dans différents alphabets. <!--l. 55--></p> + +<p class="indent">Faites attention à ce que le caractère <em>fin de +ligne</em> est souvent pris comme une espace. Sous +T<sub>E</sub>Xworks on fait spécifiquement référence à la fin de +ligne par « <span class="obeylines-h verb ec-lmtt-12">\n</span> +».</p> + +<h3 class="sectionHead"><span class="titlemark">B.3</span> <a id= +"x48-54000B.3" name="x48-54000B.3"></a>Répétition</h3><a id= +"dx48-54001" name="dx48-54001"></a> <!--l. 60--> + +<p class="noindent">On ne travaille pas uniquement avec de simples +lettres, chiffres, symboles<span class= +"frenchb-thinspace"> </span>; la plupart du temps ils sont +répétés (ex.<span class="frenchb-nbsp"> </span>: un nombre est +une répétition de chiffres et de symboles – dans le bon ordre.) +<!--l. 63--></p> + +<p class="indent">Pour indiquer le nombre de répétitions, on +utilise ce qu’on appelle des « quantificateurs »<span class= +"frenchb-nbsp"> </span>: <b>a{1,1}</b> signifie au moins un et +seulement un <b>a</b>, <b>a{3,7}</b> entre 3 et 7<span class= +"frenchb-thinspace"> </span>; <b>{1,1}</b> est redondant, +ainsi <b>a{1,1}</b> = <b>a</b>. <!--l. 65--></p> + +<p class="indent">Ceci peut être combiné à la notation +d’ensemble<span class="frenchb-nbsp"> </span>: +<b>[0-9]{1,2}</b> correspondra à au moins un chiffre et au plus +deux, soit les nombres entiers entre 0 et 99. Mais cela +correspondra à tout groupe de 1 ou 2 chiffres <em>dans</em> une +chaîne (il peut y avoir beaucoup de texte avant et après +l’entier)<span class="frenchb-thinspace"> </span>; si on +désire que cela corresponde à l’entièreté de la chaîne avec qu’un +ou deux chiffres (sans caractères qui les précèdent ou suivent) +nous devrons écrire l’expression régulière comme +<b>^[0-9]{1,2}$</b><span class="frenchb-thinspace"> </span>; +ici <b>^</b> précise que la chaîne désirée doit être le premier +caractère de la chaîne, le <b>$</b> le dernier, de sorte qu’il n’y +a qu’un ou deux chiffres dans la chaîne (<b>^</b> et <b>$</b> sont +des « assertions » – voir plus loin pour des compléments.) +<!--l. 67--></p> + +<p class="indent">Voici la table des quantificateurs. <span class= +"footnote-mark"><a href="index53.html#fn5x10"><sup class= +"textsuperscript">5</sup></a></span><a id="x48-54002f5" name= +"x48-54002f5"></a> E représente une expression (lettre, +abréviation, ensemble.) <!--l. 70--></p> + +<p class="noindent"><!--tex4ht:inline--></p> + +<div class="tabular"> +<table id="TBL-10" class="tabular" cellspacing="0" cellpadding="0"> +<colgroup id="TBL-10-1g"> +<col id="TBL-10-1" /> +<col id="TBL-10-2" /> +</colgroup> + +<tr class="c12" id="TBL-10-1-"> +<td id="TBL-10-1-1" class="td11 c11"> +<!--l. 72--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">E{n,m}</span></p> +</td> + +<td id="TBL-10-1-2" class="td11 c11"> +<!--l. 72--> + +<p class="noindent">Correspond à au moins <b>n</b> occurrences et +au plus <b>m</b> occurrences de l’expression.</p> +</td> +</tr> + +<tr class="c12" id="TBL-10-2-"> +<td id="TBL-10-2-1" class="td11 c11"> +<!--l. 73--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">E{n}</span></p> +</td> + +<td id="TBL-10-2-2" class="td11 c11"> +<!--l. 73--> + +<p class="noindent">Exactement <b>n</b> occurrences de +l’expression. Équivalent à répéter l’expression n fois. C’est la +même chose que <b>E{n,n}</b> ou de répéter l’expression n fois.</p> +</td> +</tr> + +<tr class="c12" id="TBL-10-3-"> +<td id="TBL-10-3-1" class="td11 c11"> +<!--l. 74--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">E{n,}</span></p> +</td> + +<td id="TBL-10-3-2" class="td11 c11"> +<!--l. 74--> + +<p class="noindent">Correspond à au moins <b>n</b> occurrences de +l’expression.</p> +</td> +</tr> + +<tr class="c12" id="TBL-10-4-"> +<td id="TBL-10-4-1" class="td11 c11"> +<!--l. 75--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">E{,m}</span></p> +</td> + +<td id="TBL-10-4-2" class="td11 c11"> +<!--l. 75--> + +<p class="noindent">Correspond à au plus <b>m</b> occurrences de +l’expression.</p> +</td> +</tr> + +<tr class="c12" id="TBL-10-5-"> +<td id="TBL-10-5-1" class="td11 c11"> +<!--l. 76--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">E?</span></p> +</td> + +<td id="TBL-10-5-2" class="td11 c11"> +<!--l. 76--> + +<p class="noindent">Zéro ou une occurrence de E. Ce quantificateur +signifie <em>l’expression précédente est optionnelle</em> (elle +peut être présente, mais ne doit pas nécessairement l’être). C’est +la même chose que <b>E{0,1}</b>.</p> +</td> +</tr> + +<tr class="c12" id="TBL-10-6-"> +<td id="TBL-10-6-1" class="td11 c11"> +<!--l. 78--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">E+</span></p> +</td> + +<td id="TBL-10-6-2" class="td11 c11"> +<!--l. 78--> + +<p class="noindent">Une ou plusieurs occurrences de E. C’est +équivalent à <b>E{1,}</b>.</p> +</td> +</tr> + +<tr class="c12" id="TBL-10-7-"> +<td id="TBL-10-7-1" class="td11 c11"> +<!--l. 79--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">E*</span></p> +</td> + +<td id="TBL-10-7-2" class="td11 c11"> +<!--l. 79--> + +<p class="noindent">Zéro ou plus d’occurrences de E. Équivalent à +<b>E{0,}</b>. Attention le quantificateur <b>*</b> est souvent +utilisé à tort pour le quantificateur <b>+</b>. Comme il correspond +à zéro ou plus d’occurrences, il y aura correspondance même s’il +n’y a aucune occurrence dans la chaîne.</p> +</td> +</tr> + +<tr class="c12" id="TBL-10-8-"> +<td id="TBL-10-8-1" class="td11 c11"></td> +</tr> +</table> +</div> + +<h3 class="sectionHead"><span class="titlemark">B.4</span> <a id= +"x48-55000B.4" name="x48-55000B.4"></a>Alternatives et +assertions</h3><a id="dx48-55001" name="dx48-55001"></a> +<!--l. 87--> + +<p class="noindent">Lorsqu’on cherche, il est souvent nécessaire de +chercher des alternatives, par ex.<span class= +"frenchb-nbsp"> </span>: pomme, poire, cerise, mais pas +pommeau. Pour séparer les alternatives on utilise le symbole +<b>|</b><span class="frenchb-nbsp"> </span>: +pomme|poire|cerise. Mais ceci n’empêchera pas de trouver pommeau, +nous devons donc spécifier que pomme doit être un mot en soi, un +mot entier (dénomination fréquente des boîtes de dialogues « +Chercher ».) <!--l. 89--></p> + +<p class="indent">Pour préciser qu’une chaîne doit être considérée +comme un mot en soi, nous l’écrirons entourée d’un séparateur/d’un +délimiteur de mot (début/fin de phrase, espace)<span class= +"frenchb-nbsp"> </span>: <b>\bpomme\b</b>. Pour notre exemple +d’alternatives nous les <b>grouperons</b> par des parenthèses et +ajouteront les délimiteurs <b>\b(pomme|poire|cerise)\b</b>. En plus +de <b>\b</b> nous avons déjà vu <b>^</b> et <b>$</b> qui marquent +les limites de toute ne chaîne. <!--l. 91--></p> + +<p class="indent">Voici le tableau des « assertions » qui ne +correspondent à aucun caractère et ne feront jamais partie du +résultat d’une recherche. <span class="footnote-mark"><a href= +"index54.html#fn6x10"><sup class= +"textsuperscript">6</sup></a></span><a id="x48-55002f6" name= +"x48-55002f6"></a> <!--l. 94--></p> + +<p class="noindent"><!--tex4ht:inline--></p> + +<div class="tabular"> +<table id="TBL-11" class="tabular" cellspacing="0" cellpadding="0"> +<colgroup id="TBL-11-1g"> +<col id="TBL-11-1" /> +<col id="TBL-11-2" /> +</colgroup> + +<tr class="c12" id="TBL-11-1-"> +<td id="TBL-11-1-1" class="td11 c11"> +<!--l. 96--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">^</span></p> +</td> + +<td id="TBL-11-1-2" class="td11 c11"> +<!--l. 96--> + +<p class="noindent">Le circonflexe représente le début de la +chaîne. Si vous voulez trouver le caractère <b>^</b> vous devez +utilisez un échappement en écrivant <span class= +"obeylines-h verb ec-lmtt-12">\^</span></p> +</td> +</tr> + +<tr class="c12" id="TBL-11-2-"> +<td id="TBL-11-2-1" class="td11 c11"> +<!--l. 97--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">$</span></p> +</td> + +<td id="TBL-11-2-2" class="td11 c11"> +<!--l. 97--> + +<p class="noindent">Le dollar représente la fin de chaîne. Pour +trouver le symbole <b>$</b> vous devez utilisez un échappement en +écrivant <span class="obeylines-h verb ec-lmtt-12">\$</span></p> +</td> +</tr> + +<tr class="c12" id="TBL-11-3-"> +<td id="TBL-11-3-1" class="td11 c11"> +<!--l. 98--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">\b</span></p> +</td> + +<td id="TBL-11-3-2" class="td11 c11"> +<!--l. 98--> + +<p class="noindent">Un séparateur mot.</p> +</td> +</tr> + +<tr class="c12" id="TBL-11-4-"> +<td id="TBL-11-4-1" class="td11 c11"> +<!--l. 99--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">\B</span></p> +</td> + +<td id="TBL-11-4-2" class="td11 c11"> +<!--l. 99--> + +<p class="noindent">Un non-séparateur mot. Cette assertion est +valable chaque fois que <span class= +"obeylines-h verb ec-lmtt-12">\b</span> est faux.</p> +</td> +</tr> + +<tr class="c12" id="TBL-11-5-"> +<td id="TBL-11-5-1" class="td11 c11"> +<!--l. 100--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">(?=E)</span></p> +</td> + +<td id="TBL-11-5-2" class="td11 c11"> +<!--l. 100--> + +<p class="noindent">Anticipation positive. L’assertion est vraie si +l’expression <b>E</b> est correcte à ce point de l’expression +régulière.</p> +</td> +</tr> + +<tr class="c12" id="TBL-11-6-"> +<td id="TBL-11-6-1" class="td11 c11"> +<!--l. 101--> + +<p class="noindent"><span class= +"obeylines-h verb ec-lmtt-12">(?!E)</span></p> +</td> + +<td id="TBL-11-6-2" class="td11 c11"> +<!--l. 101--> + +<p class="noindent">Anticipation négative. L’assertion est vraie si +l’expression <b>E</b> n’est pas correcte à ce point dans +l’expression régulière.</p> +</td> +</tr> + +<tr class="c12" id="TBL-11-7-"> +<td id="TBL-11-7-1" class="td11 c11"></td> +</tr> +</table> +</div><!--l. 106--> + +<p class="indent">Remarquez les significations différentes de +<b>^</b> comme assertion et comme négation dans un +ensemble<span class="frenchb-thinspace"> </span>!</p> + +<h3 class="sectionHead"><span class="titlemark">B.5</span> <a id= +"x48-56000B.5" name="x48-56000B.5"></a>Pour conclure</h3> +<!--l. 110--> + +<p class="noindent">Utiliser les expressions régulières est très +puissant, mais donc aussi très dangereux<span class= +"frenchb-thinspace"> </span>; vous pourriez changer votre +texte à des endroits non visibles et parfois le retour à la +situation précédente n’est pas entièrement possible. Si vous +remarquez immédiatement l’erreur, vous pourriez utiliser +<span class="keystroke">Ctrl</span><span class= +"keystroke">Z</span>. <!--l. 112--></p> + +<p class="indent">Montrer comment tirer profit de toute la +puissance des expressions régulières exigerait beaucoup plus que +cette introduction extrêmement sommaire<span class= +"frenchb-thinspace"> </span>; en fait cela demanderait un +manuel complet en soi. <!--l. 114--></p> + +<p class="indent">Notez aussi qu’il y a certaines limites dans les +implantations des expressions régulières dans +T<sub>E</sub>Xworks<span class="frenchb-thinspace"> </span>; +en particulier les assertions (^ et $) ne prennent en compte que +tout le fichier et il n’y a pas d’assertion à anticipation +positive. <!--l. 116--></p> + +<p class="indent">Enfin, n’oubliez pas de « cocher » l’option +<span class="ec-lmro-12">Expression r</span><span class= +"ec-lmro-12">éguli</span><span class="ec-lmro-12">ère</span> +lorsque vous en utilisez dans les boîtes de dialogue +<em>Rechercher</em> et <em>Remplacer</em> et de la décocher lorsque +vous n’utilisez pas d’expression régulière. <!--l. 5--></p> + +<div class="crosslinks"> +<p class="noindent">[<a href="CompilerTw.html">next</a>] [<a href= +"AdaptationdeTw.html">prev</a>] [<a href= +"AdaptationdeTw.html#tailAdaptationdeTw.html">prev-tail</a>] +[<a href="Expressionsregulieres.html">front</a>] [<a href= +"index.html#Expressionsregulieres.html">up</a>]</p> +</div><!--l. 5--> + +<p class="indent"><a id="tailExpressionsregulieres.html" name= +"tailExpressionsregulieres.html"></a></p> +</div> +</body> +</html> |