summaryrefslogtreecommitdiff
path: root/Master/tlpkg/texworks/texworks-help/TeXworks-manual/fr/Expressionsregulieres.html
diff options
context:
space:
mode:
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.html1212
1 files changed, 402 insertions, 810 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
index 9cfdab0d43b..7f3b2069f20 100644
--- a/Master/tlpkg/texworks/texworks-help/TeXworks-manual/fr/Expressionsregulieres.html
+++ b/Master/tlpkg/texworks/texworks-help/TeXworks-manual/fr/Expressionsregulieres.html
@@ -1,810 +1,402 @@
-<?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-05-06 22:56: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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&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">&nbsp;</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">&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">&nbsp;</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">&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">&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">&nbsp;</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">&nbsp;</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">&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">&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">&nbsp;</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">&nbsp;</span>; la plupart du temps ils sont
-répétés (ex.<span class="frenchb-nbsp">&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">&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">&nbsp;</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">&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">&nbsp;</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">&nbsp;</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">&nbsp;</span>: pomme, poire, cerise, mais pas
-pommeau. Pour séparer les alternatives on utilise le symbole
-<b>|</b><span class="frenchb-nbsp">&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">&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">&nbsp;</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">&nbsp;</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">&nbsp;</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">&nbsp;</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>
+<!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"
+ "http://www.w3.org/TR/html4/loose.dtd">
+<html xml:lang="fr" >
+<head><title>B Expressions regulières</title>
+<meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">
+<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">
+<link rel="stylesheet" type="text/css" href="index.css">
+</head><body
+>
+<!--l. 5--><p class="noindent" ><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" > <div class="chapternumber">B</div><h1><a
+ id="x47-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="dx47-51001"></a> &#8211; souvent appelées <em>regexp</em>
+&#8211; disponibles sont un sous-ensemble de celles trouvées dans Qt4. Voir le site de
+Qt4. <span class="footnote-mark"><a
+href="index48.html#fn1x10"><sup class="textsuperscript">1</sup></a></span><a
+ id="x47-51002f1"></a> pour plus
+d&#8217;information. Il est possible de trouver d&#8217;autres informations sur les expressions régulières
+sur le net <span class="footnote-mark"><a
+href="index49.html#fn2x10"><sup class="textsuperscript">2</sup></a></span><a
+ id="x47-51003f2"></a>
+ou dans des livres. Mais faites attention que tous les systèmes (langages de
+programmation, éditeurs,...) n&#8217;utilisent pas le même ensemble d&#8217;instructions<span class="frenchb-thinspace">&#x00A0;</span>; il
+n&#8217;y a malheureusement pas « d&#8217;ensemble standard ».
+ <h3 class="sectionHead"><span class="titlemark">B.1 </span> <a
+ id="x47-52000B.1"></a>Introduction</h3>
+<a
+ id="dx47-52001"></a>
+<!--l. 14--><p class="noindent" >Lorsqu&#8217;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&#8217;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&#8217;une fois à
+l&#8217;autre<span class="frenchb-thinspace">&#x00A0;</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">&#x00A0;</span>; ceci demanderait de répéter 5 fois l&#8217;opération de remplacement en
+l&#8217;ajustant légèrement. Un autre exemple<span class="frenchb-nbsp">&#x00A0;</span>: remplacer toutes les voyelles
+par <b>§</b>, encore 5 remplacements. C&#8217;est ici qu&#8217;interviennent les expressions
+régulières<span class="frenchb-thinspace">&#x00A0;</span>!
+<!--l. 16--><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">&#x00A0;</span>: <b>[aeiou]</b> correspondra à toute voyelle, <b>[abcdef]</b>
+aux lettres <b>a b c d e f</b><span class="frenchb-thinspace">&#x00A0;</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&#8217;intervalle. On peut même
+
+
+
+combiner ceci<span class="frenchb-nbsp">&#x00A0;</span>: <b>[a-zA-Z0-9]</b> va correspondre à toutes les lettres et tous les
+chiffres.
+<!--l. 18--><p class="indent" > Pour définir un ensemble à
+exclure <span class="footnote-mark"><a
+href="index50.html#fn3x10"><sup class="textsuperscript">3</sup></a></span><a
+ id="x47-52002f3"></a>,
+on utilise « <b>^</b> »<span class="frenchb-nbsp">&#x00A0;</span>: le circonflexe rend l&#8217;ensemble négatif s&#8217;il apparaît comme le
+premier caractère, c&#8217;est-à-dire juste après le crochet d&#8217;ouverture. <b>[^abc]</b>
+correspond à tout sauf <b>a b c</b>.
+ <h3 class="sectionHead"><span class="titlemark">B.2 </span> <a
+ id="x47-53000B.2"></a>Codes pour certains ensembles spéciaux</h3>
+<a
+ id="dx47-53001"></a>
+<!--l. 23--><p class="noindent" >Lorsqu&#8217;on utilise les expressions régulières, on doit très souvent créer
+des chaînes qui représentent d&#8217;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">&#x00A0;</span>; cependant vous pourriez rechercher toute
+chaîne correspondant à une adresse de courriel (<tt>texte@texte.texte</tt> &#8211; en
+général). Il y a des abréviations pour représenter les lettres, les chiffres,
+symboles,...
+<!--l. 25--><p class="indent" > Ces codes remplacent et facilitent la définition d&#8217;ensembles<span class="frenchb-thinspace">&#x00A0;</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="index51.html#fn4x10"><sup class="textsuperscript">4</sup></a></span><a
+ id="x47-53002f4"></a>
+ <div class="table">
+
+
+
+<!--l. 29--><p class="indent" > <hr class="float"><div class="float"
+>
+
+
+
+<!--l. 29--><p class="noindent" ><!--tex4ht:inline--><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
+ style="vertical-align:baseline;" id="TBL-9-1-"><td style="white-space:nowrap; text-align:left;" id="TBL-9-1-1"
+class="td11"> <div class="multicolumn" style="white-space:nowrap; text-align:left;">Élément</div> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-1-2"
+class="td11"> <!--l. 31--><p class="noindent" >Signification </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-2-"><td style="white-space:wrap; text-align:left;" id="TBL-9-2-1"
+class="td11"> <!--l. 33--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">c</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-2-2"
+class="td11"> <!--l. 33--><p class="noindent" >Tout caractère se représente lui-même, à moins qu&#8217;il n&#8217;aie une
+ signification particulière dans les expressions régulières. Ainsi
+ c correspond au caractère c. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-3-"><td style="white-space:wrap; text-align:left;" id="TBL-9-3-1"
+class="td11"> <!--l. 34--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">\c</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-3-2"
+class="td11"> <!--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"><span class="verb"><span
+class="ec-lmtt-12">\^</span></span></span> ». </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-4-"><td style="white-space:wrap; text-align:left;" id="TBL-9-4-1"
+class="td11"> <!--l. 35--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">\n</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-4-2"
+class="td11"> <!--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). </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-5-"><td style="white-space:wrap; text-align:left;" id="TBL-9-5-1"
+class="td11"> <!--l. 36--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">\r</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-5-2"
+class="td11"> <!--l. 36--><p class="noindent" >Ceci correspond à l&#8217;ASCII <em>retour à la ligne</em> (CR). </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-6-"><td style="white-space:wrap; text-align:left;" id="TBL-9-6-1"
+class="td11"> <!--l. 37--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">\t</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-6-2"
+class="td11"> <!--l. 37--><p class="noindent" >Ceci est la tabulation horizontale (ASCII<span class="frenchb-nbsp">&#x00A0;</span>: HT). </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-7-"><td style="white-space:wrap; text-align:left;" id="TBL-9-7-1"
+class="td11"> <!--l. 38--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">\v</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-7-2"
+class="td11"> <!--l. 38--><p class="noindent" >La tabulation verticale (ASCII<span class="frenchb-nbsp">&#x00A0;</span>: VT). </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-8-"><td style="white-space:wrap; text-align:left;" id="TBL-9-8-1"
+class="td11"> <!--l. 39--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">\xhhhh</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-8-2"
+class="td11"> <!--l. 39--><p class="noindent" >Correspond au caractère Unicode de
+ représentation hexadécimale hhhh (entre 0x0000 et 0xFFFF).
+ <span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">\0ooo</span></span></span> (i.e., zero-ooo) correspond au caractère ASCII/Latin-1
+ correspondant au nombre octal ooo (entre 0 et 0377). </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-9-"><td style="white-space:wrap; text-align:left;" id="TBL-9-9-1"
+class="td11"> <!--l. 40--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">.</span></span></span>
+ <span
+class="ec-lmbx-12">(point)</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-9-2"
+class="td11"> <!--l. 40--><p class="noindent" >Correspond à n&#8217;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"><span class="verb"><span
+class="ec-lmtt-12">\.</span></span></span> ». </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-10-"><td style="white-space:wrap; text-align:left;" id="TBL-9-10-1"
+class="td11"> <!--l. 41--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">\d</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-10-2"
+class="td11"> <!--l. 41--><p class="noindent" >Correspond à un chiffre. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-11-"><td style="white-space:wrap; text-align:left;" id="TBL-9-11-1"
+class="td11"> <!--l. 42--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">\D</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-11-2"
+class="td11"> <!--l. 42--><p class="noindent" >Correspond à un non-chiffre. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-12-"><td style="white-space:wrap; text-align:left;" id="TBL-9-12-1"
+class="td11"> <!--l. 43--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">\s</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-12-2"
+class="td11"> <!--l. 43--><p class="noindent" >Correspond à une espace (espace blanc). </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-13-"><td style="white-space:wrap; text-align:left;" id="TBL-9-13-1"
+class="td11"> <!--l. 44--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">\S</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-13-2"
+class="td11"> <!--l. 44--><p class="noindent" >Correspond à une non-espace. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-14-"><td style="white-space:wrap; text-align:left;" id="TBL-9-14-1"
+class="td11"> <!--l. 45--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">\w</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-14-2"
+class="td11"> <!--l. 45--><p class="noindent" >Correspond à un caractère d&#8217;un mot ou « <span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">_</span></span></span> »). </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-15-"><td style="white-space:wrap; text-align:left;" id="TBL-9-15-1"
+class="td11"> <!--l. 46--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">\W</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-15-2"
+class="td11"> <!--l. 46--><p class="noindent" >Correspond à un caractère non mot. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-16-"><td style="white-space:wrap; text-align:left;" id="TBL-9-16-1"
+class="td11"> <!--l. 47--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">\n</span></span></span><span
+class="ec-lmbx-12">, . . .</span> </td><td style="white-space:wrap; text-align:left;" id="TBL-9-16-2"
+class="td11"> <!--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"><span class="verb"><span
+class="ec-lmtt-12">\1</span></span></span>, <span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">\2</span></span></span>, etc.<span class="frenchb-thinspace">&#x00A0;</span>; utilisé dans
+ les chaînes de remplacement avec des motifs de capture &#8211; voir
+ plus bas </td>
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-9-17-"><td style="white-space:wrap; text-align:left;" id="TBL-9-17-1"
+class="td11"> </td></tr></table></div>
+
+
+
+ </div><hr class="endfloat" />
+ </div>
+<!--l. 53--><p class="indent" > Il est préférable d&#8217;utiliser les abréviations que de décrire les ensembles, car les
+abréviations restent valables dans différents alphabets.
+<!--l. 55--><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"><span class="verb"><span
+class="ec-lmtt-12">\n</span></span></span> ».
+ <h3 class="sectionHead"><span class="titlemark">B.3 </span> <a
+ id="x47-54000B.3"></a>Répétition</h3>
+<a
+ id="dx47-54001"></a>
+<!--l. 60--><p class="noindent" >On ne travaille pas uniquement avec de simples lettres, chiffres, symboles<span class="frenchb-thinspace">&#x00A0;</span>; la
+plupart du temps ils sont répétés (ex.<span class="frenchb-nbsp">&#x00A0;</span>: un nombre est une répétition de chiffres
+et de symboles &#8211; dans le bon ordre.)
+<!--l. 63--><p class="indent" > Pour indiquer le nombre de répétitions, on utilise ce qu&#8217;on appelle des
+« quantificateurs »<span class="frenchb-nbsp">&#x00A0;</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">&#x00A0;</span>; <b>{1,1}</b> est redondant, ainsi <b>a{1,1}</b> = <b>a</b>.
+<!--l. 65--><p class="indent" > Ceci peut être combiné à la notation d&#8217;ensemble<span class="frenchb-nbsp">&#x00A0;</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&#8217;entier)<span class="frenchb-thinspace">&#x00A0;</span>; si on désire que cela corresponde à
+l&#8217;entièreté de la chaîne avec qu&#8217;un ou deux chiffres (sans caractères qui les
+précèdent ou suivent) nous devrons écrire l&#8217;expression régulière comme
+<b>^[0-9]{1,2}$</b><span class="frenchb-thinspace">&#x00A0;</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&#8217;il n&#8217;y a qu&#8217;un ou deux chiffres
+dans la chaîne (<b>^</b> et <b>$</b> sont des « assertions » &#8211; voir plus loin pour des
+compléments.)
+<!--l. 67--><p class="indent" > Voici la table des quantificateurs. <span class="footnote-mark"><a
+href="index52.html#fn5x10"><sup class="textsuperscript">5</sup></a></span><a
+ id="x47-54002f5"></a>
+E représente une expression (lettre, abréviation, ensemble.)
+
+
+
+<!--l. 70--><p class="noindent" ><!--tex4ht:inline--><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
+ style="vertical-align:baseline;" id="TBL-10-1-"><td style="white-space:wrap; text-align:left;" id="TBL-10-1-1"
+class="td11"> <!--l. 72--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">E{n,m}</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-1-2"
+class="td11"> <!--l. 72--><p class="noindent" >Correspond à au moins <b>n</b> occurrences et au plus <b>m</b> occurrences
+ de l&#8217;expression. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-10-2-"><td style="white-space:wrap; text-align:left;" id="TBL-10-2-1"
+class="td11"> <!--l. 73--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">E{n}</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-2-2"
+class="td11"> <!--l. 73--><p class="noindent" >Exactement <b>n</b> occurrences de l&#8217;expression. Équivalent à répéter
+ l&#8217;expression n fois. C&#8217;est la même chose que <b>E{n,n}</b> ou de
+ répéter l&#8217;expression n fois. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-10-3-"><td style="white-space:wrap; text-align:left;" id="TBL-10-3-1"
+class="td11"> <!--l. 74--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">E{n,}</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-3-2"
+class="td11"> <!--l. 74--><p class="noindent" >Correspond à au moins <b>n</b> occurrences de l&#8217;expression. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-10-4-"><td style="white-space:wrap; text-align:left;" id="TBL-10-4-1"
+class="td11"> <!--l. 75--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">E{,m}</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-4-2"
+class="td11"> <!--l. 75--><p class="noindent" >Correspond à au plus <b>m</b> occurrences de l&#8217;expression. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-10-5-"><td style="white-space:wrap; text-align:left;" id="TBL-10-5-1"
+class="td11"> <!--l. 76--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">E?</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-5-2"
+class="td11"> <!--l. 76--><p class="noindent" >Zéro ou une occurrence de E. Ce quantificateur signifie
+ <em>l&#8217;expression précédente est optionnelle</em> (elle peut être présente,
+ mais ne doit pas nécessairement l&#8217;être). C&#8217;est la même chose
+ que <b>E{0,1}</b>. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-10-6-"><td style="white-space:wrap; text-align:left;" id="TBL-10-6-1"
+class="td11"> <!--l. 78--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">E+</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-6-2"
+class="td11"> <!--l. 78--><p class="noindent" >Une ou plusieurs occurrences de E. C&#8217;est équivalent à <b>E{1,}</b>. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-10-7-"><td style="white-space:wrap; text-align:left;" id="TBL-10-7-1"
+class="td11"> <!--l. 79--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">E*</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-10-7-2"
+class="td11"> <!--l. 79--><p class="noindent" >Zéro ou plus d&#8217;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&#8217;occurrences, il y aura correspondance même s&#8217;il n&#8217;y a aucune
+ occurrence dans la chaîne. </td>
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-10-8-"><td style="white-space:wrap; text-align:left;" id="TBL-10-8-1"
+class="td11"> </td></tr></table></div>
+ <h3 class="sectionHead"><span class="titlemark">B.4 </span> <a
+ id="x47-55000B.4"></a>Alternatives et assertions</h3>
+<a
+ id="dx47-55001"></a>
+<!--l. 87--><p class="noindent" >Lorsqu&#8217;on cherche, il est souvent nécessaire de chercher des alternatives, par ex.<span class="frenchb-nbsp">&#x00A0;</span>:
+pomme, poire, cerise, mais pas pommeau. Pour séparer les alternatives on
+utilise le symbole <b>|</b><span class="frenchb-nbsp">&#x00A0;</span>: pomme|poire|cerise. Mais ceci n&#8217;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 class="indent" > Pour préciser qu&#8217;une chaîne doit être considérée comme un mot en soi, nous
+l&#8217;écrirons entourée d&#8217;un séparateur/d&#8217;un délimiteur de mot (début/fin de phrase,
+espace)<span class="frenchb-nbsp">&#x00A0;</span>: <b>\bpomme\b</b>. Pour notre exemple d&#8217;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 class="indent" > Voici le tableau des « assertions » qui ne correspondent à
+aucun caractère et ne feront jamais partie du résultat d&#8217;une
+recherche. <span class="footnote-mark"><a
+href="index53.html#fn6x10"><sup class="textsuperscript">6</sup></a></span><a
+ id="x47-55002f6"></a>
+
+
+
+<!--l. 94--><p class="noindent" ><!--tex4ht:inline--><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
+ style="vertical-align:baseline;" id="TBL-11-1-"><td style="white-space:wrap; text-align:left;" id="TBL-11-1-1"
+class="td11"> <!--l. 96--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">^</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-11-1-2"
+class="td11"> <!--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"><span class="verb"><span
+class="ec-lmtt-12">\^</span></span></span> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-11-2-"><td style="white-space:wrap; text-align:left;" id="TBL-11-2-1"
+class="td11"> <!--l. 97--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">$</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-11-2-2"
+class="td11"> <!--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"><span class="verb"><span
+class="ec-lmtt-12">\$</span></span></span> </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-11-3-"><td style="white-space:wrap; text-align:left;" id="TBL-11-3-1"
+class="td11"> <!--l. 98--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">\b</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-11-3-2"
+class="td11"> <!--l. 98--><p class="noindent" >Un séparateur mot. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-11-4-"><td style="white-space:wrap; text-align:left;" id="TBL-11-4-1"
+class="td11"> <!--l. 99--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">\B</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-11-4-2"
+class="td11"> <!--l. 99--><p class="noindent" >Un non-séparateur mot. Cette assertion est valable chaque fois
+ que <span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">\b</span></span></span> est faux. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-11-5-"><td style="white-space:wrap; text-align:left;" id="TBL-11-5-1"
+class="td11"> <!--l. 100--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">(?=E)</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-11-5-2"
+class="td11"> <!--l. 100--><p class="noindent" >Anticipation positive. L&#8217;assertion est vraie si l&#8217;expression <b>E</b> est
+ correcte à ce point de l&#8217;expression régulière. </td>
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-11-6-"><td style="white-space:wrap; text-align:left;" id="TBL-11-6-1"
+class="td11"> <!--l. 101--><p class="noindent" ><span class="obeylines-h"><span class="verb"><span
+class="ec-lmtt-12">(?!E)</span></span></span> </td><td style="white-space:wrap; text-align:left;" id="TBL-11-6-2"
+class="td11"> <!--l. 101--><p class="noindent" >Anticipation négative. L&#8217;assertion est vraie si l&#8217;expression <b>E</b>
+ n&#8217;est pas correcte à ce point dans l&#8217;expression régulière. </td>
+
+</tr><tr
+ style="vertical-align:baseline;" id="TBL-11-7-"><td style="white-space:wrap; text-align:left;" id="TBL-11-7-1"
+class="td11"> </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">&#x00A0;</span>!
+ <h3 class="sectionHead"><span class="titlemark">B.5 </span> <a
+ id="x47-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">&#x00A0;</span>; vous pourriez changer votre texte à des endroits non visibles et
+parfois le retour à la situation précédente n&#8217;est pas entièrement possible. Si vous
+remarquez immédiatement l&#8217;erreur, vous pourriez utiliser <span class="keystroke">Ctrl</span><span class="keystroke">Z</span>.
+<!--l. 112--><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">&#x00A0;</span>; en fait
+cela demanderait un manuel complet en soi.
+<!--l. 114--><p class="indent" > Notez aussi qu&#8217;il y a certaines limites dans les implantations des expressions
+régulières dans T<sub>E</sub>Xworks<span class="frenchb-thinspace">&#x00A0;</span>; en particulier les assertions (^ et $) ne prennent en compte que
+tout le fichier et il n&#8217;y a pas d&#8217;assertion à anticipation positive.
+<!--l. 116--><p class="indent" > Enfin, n&#8217;oubliez pas de « cocher » l&#8217;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&#8217;utilisez pas d&#8217;expression régulière.
+
+
+
+
+
+
+
+
+
+ <!--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="Expressionsregulieres.html" >front</a>] [<a
+href="index.html#Expressionsregulieres.html" >up</a>] </p></div>
+<!--l. 5--><p class="indent" > <a
+ id="tailExpressionsregulieres.html"></a> </div>
+</body></html>