1
0
Fork 0

Traduction terminée. Besoin de relecture.

This commit is contained in:
Christophe Nanteuil 2018-07-27 10:35:49 +02:00
parent ef4e8e64e8
commit 6d507fb473
1 changed files with 170 additions and 44 deletions

View File

@ -6,7 +6,7 @@ msgstr ""
"Project-Id-Version: Python 3.6\n"
"Report-Msgid-Bugs-To: \n"
"POT-Creation-Date: 2018-06-28 15:29+0200\n"
"PO-Revision-Date: 2018-07-26 23:49+0200\n"
"PO-Revision-Date: 2018-07-27 10:54+0200\n"
"Last-Translator: Nabil Bendafi <nabil@bendafi.fr>\n"
"Language-Team: FRENCH <traductions@lists.afpy.org>\n"
"Language: fr\n"
@ -81,13 +81,14 @@ msgid ""
"requires that you have a good understanding of the matching engine's "
"internals."
msgstr ""
"Un motif d'expression régulière est compilé en **bytecode** qui est ensuite "
"exécuté par un moteur de correspondance écrit en C. Pour une utilisation "
"plus poussée, il peut s'avérer nécessaire de s'intéresser à la manière dont "
"le moteur exécute la RE afin d'écrire une expression dont le **bytecode** "
"est plus rapide. L'optimisation n'est pas traitée dans ce document, parce "
"qu'elle nécessite d'avoir une bonne compréhension des mécanismes internes du "
"moteur de correspondance."
"Un motif d'expression régulière est compilé en code intermédiaire "
"(*bytecode* en anglais) qui est ensuite exécuté par un moteur de "
"correspondance écrit en C. Pour une utilisation plus poussée, il peut "
"s'avérer nécessaire de s'intéresser à la manière dont le moteur exécute la "
"RE afin d'écrire une expression dont le code intermédiaire est plus rapide. "
"L'optimisation n'est pas traitée dans ce document, parce qu'elle nécessite "
"d'avoir une bonne compréhension des mécanismes internes du moteur de "
"correspondance."
#: ../Doc/howto/regex.rst:42
msgid ""
@ -238,8 +239,8 @@ msgstr ""
"pour signaler différentes séquences spéciales. Elle est aussi utilisée pour "
"échapper tous les métacaractères afin d'en trouver les correspondances dans "
"les motifs ; par exemple, si vous devez trouver une correspondance pour "
"``[`` ou ``\\`, vous pouvez les précéder avec une barre oblique inverse pour "
"annihiler leur signification spéciale : ``\\[`` ou ``\\\\``."
"``[`` ou ``\\``, vous pouvez les précéder avec une barre oblique inverse "
"pour annihiler leur signification spéciale : ``\\[`` ou ``\\\\``."
#: ../Doc/howto/regex.rst:109
msgid ""
@ -662,7 +663,7 @@ msgid ""
msgstr ""
"Les expressions régulières sont compilées en objets motifs, qui possèdent "
"des méthodes pour diverses opérations telles que la recherche de "
"correspondances ou les substitutions dans les chaînes. ::"
"correspondances ou les substitutions dans les chaînes. ::"
#: ../Doc/howto/regex.rst:275
msgid ""
@ -863,7 +864,7 @@ msgid ""
"for a complete listing."
msgstr ""
"Une fois que nous avons un objet représentant une expression régulière "
"compilée, qu'en faisons-nous ? Les objets motifs ont plusieurs méthodes et "
"compilée, qu'en faisons-nous ? Les objets motifs ont plusieurs méthodes et "
"attributs. Seuls les plus significatifs seront couverts ici ; consultez la "
"documentation :mod:`re` pour la liste complète."
@ -968,7 +969,7 @@ msgstr ""
"indique \"une ou plusieurs occurrences\". :meth:`~re.Pattern.match` doit "
"renvoyer ``None`` dans ce cas, ce qui fait que l'interpréteur n'affiche "
"rien. Vous pouvez afficher le résultat de :meth:`!match` explicitement pour "
"que ce soit clair. ::"
"que ce soit clair. ::"
#: ../Doc/howto/regex.rst:404
msgid ""
@ -979,7 +980,7 @@ msgstr ""
"Maintenant, essayons sur une chaîne qui doit correspondre, par exemple "
"``tempo``. Dans ce cas, :meth:`~re.Pattern.match` renvoie un :ref:`objet "
"correspondance <match-objects>`, vous pouvez ainsi stocker le résultat dans "
"une variable pour une utilisation ultérieure. ::"
"une variable pour une utilisation ultérieure. ::"
#: ../Doc/howto/regex.rst:412
msgid ""
@ -1091,8 +1092,8 @@ msgid ""
msgstr ""
":meth:`~re.Pattern.findall` doit créer la liste entière avant d'être renvoyé "
"comme résultat. La méthode :meth:`~re.Pattern.finditer` renvoie une séquence "
"d'instances :ref:`d'objets correspondances <match-objects>` en tant qu'\\ :"
"term:`itérateur <iterator>` ::"
"d'instances :ref:`d'objets correspondances <match-objects>` en tant :term:"
"`qu'itérateur <iterator>` ::"
#: ../Doc/howto/regex.rst:495
msgid "Module-Level Functions"
@ -1113,7 +1114,7 @@ msgstr ""
"suite. Ces fonctions prennent les mêmes arguments que les méthodes "
"correspondantes des objets motifs, avec la chaîne RE ajoutée en tant que "
"premier argument. Elles renvoient toujours ``None`` ou une instance :ref:"
"`d'objet correspondance <match-objects>`. ::"
"`d'objet correspondance <match-objects>`. ::"
#: ../Doc/howto/regex.rst:509
msgid ""
@ -1301,7 +1302,7 @@ msgstr ""
"Par exemple, si vous traitez du texte français, vous souhaitez pouvoir "
"écrire ``\\w+`` pour faire correspondre les mots, mais ``\\w`` ne correspond "
"qu'à la classe de caractères ``[A-Za-za-z]`` en octets ; cette classe ne "
"correspond pas avec les octets codant ``é`` ou ``ç```. Si votre système est "
"correspond pas avec les octets codant ``é`` ou ``ç``. Si votre système est "
"configuré correctement et que la locale est définie sur 'français', "
"certaines fonctions C diront à votre programme que l'octet codant ``é`` doit "
"être considéré comme une lettre. Définir l'option :const:`LOCALE` lors de la "
@ -1335,7 +1336,7 @@ msgstr ""
"Normalement, ``^`` correspond uniquement au début de la chaîne, et ``$`` "
"correspond uniquement à la fin de la chaîne et immédiatement avant la "
"nouvelle ligne (s'il y en a une) à la fin de la chaîne. Lorsque cette option "
"est spécifiée, ``^``` correspond au début de la chaîne de caractères et au "
"est spécifiée, ``^`` correspond au début de la chaîne de caractères et au "
"début de chaque ligne de la chaîne de caractères, immédiatement après le "
"début de la nouvelle ligne. De même, le métacaractère ``$`` correspond à la "
"fin de la chaîne de caractères ou à la fin de chaque ligne (précédant "
@ -1407,7 +1408,7 @@ msgstr ""
#: ../Doc/howto/regex.rst:671
msgid "More Pattern Power"
msgstr ""
msgstr "Des motifs plus puissants"
#: ../Doc/howto/regex.rst:673
msgid ""
@ -1503,7 +1504,7 @@ msgid ""
"a line, the RE to use is ``^From``. ::"
msgstr ""
"Par exemple, si vous voulez trouver le mot ``From`` uniquement quand il est "
"en début de ligne, la RE à utiliser est ``^From``. ::"
"en début de ligne, la RE à utiliser est ``^From``. ::"
#: ../Doc/howto/regex.rst:717
msgid "To match a literal ``'^'``, use ``\\^``."
@ -1519,7 +1520,7 @@ msgid ""
"string, or any location followed by a newline character. ::"
msgstr ""
"Correspond à une fin de ligne, ce qui veut dire soit la fin de la chaîne, "
"soit tout emplacement qui est suivi du caractère de nouvelle ligne. ::"
"soit tout emplacement qui est suivi du caractère de nouvelle ligne. ::"
#: ../Doc/howto/regex.rst:730
msgid ""
@ -1579,7 +1580,7 @@ msgid ""
msgstr ""
"L'exemple suivant fait correspondre ``class`` seulement si c'est ce mot "
"complet ; il ne fait pas correspondre quand il est à l'intérieur d'un autre "
"mot. ::"
"mot. ::"
#: ../Doc/howto/regex.rst:759
msgid ""
@ -1599,7 +1600,7 @@ msgstr ""
"de caractères brutes, alors Python convertit le ``\\b`` en retour-arrière, "
"et votre RE ne correspond pas à ce que vous attendez. L'exemple suivant "
"ressemble à notre RE précédente, mais nous avons omis le ```'r'`` devant la "
"chaîne RE. ::"
"chaîne RE. ::"
#: ../Doc/howto/regex.rst:773
msgid ""
@ -1668,7 +1669,7 @@ msgstr ""
"expressions mathématiques ; ils forment un groupe à partir des expressions "
"qu'ils encadrent ; vous pouvez le contenu d'un groupe à l'aide d'un "
"quantificateur, comme ``*``, ``+``, ``?`` ou ``{m,n}``. Par exemple, "
"``(ab)*`` correspond à zéro, une ou plusieurs fois ``ab``. ::"
"``(ab)*`` correspond à zéro, une ou plusieurs fois ``ab``. ::"
#: ../Doc/howto/regex.rst:813
msgid ""
@ -1689,7 +1690,7 @@ msgstr ""
"c'est l'ensemble de la RE, donc les méthodes de :ref:`l'objet correspondance "
"<match-objects>` ont le groupe 0 comme argument par défaut. Plus loin, nous "
"voyons comment exprimer les groupes qui ne capturent pas l'étendue du texte "
"avec lequel ils correspondent. ::"
"avec lequel ils correspondent. ::"
#: ../Doc/howto/regex.rst:829
msgid ""
@ -1700,7 +1701,7 @@ msgstr ""
"Les sous-groupes sont numérotés de la gauche vers la droite, à partir de un. "
"Les groupes peuvent être imbriqués ; pour déterminer le numéro, il vous "
"suffit de compter le nombre de parenthèses ouvrantes de la gauche vers la "
"droite. ::"
"droite. ::"
#: ../Doc/howto/regex.rst:842
msgid ""
@ -1710,7 +1711,7 @@ msgid ""
msgstr ""
"Vous pouvez passer plusieurs numéros de groupes à :meth:`~re.Match.group` en "
"même temps, elle vous renvoie alors un *tuple* contenant les valeurs "
"correspondantes pour ces groupes. ::"
"correspondantes pour ces groupes. ::"
#: ../Doc/howto/regex.rst:848
msgid ""
@ -1719,7 +1720,7 @@ msgid ""
msgstr ""
"La méthode :meth:`~re.Match.groups` renvoie un *tuple* contenant les "
"chaînes pour tous les sous-groupes, en commençant par le numéro 1 jusqu'au "
"dernier. ::"
"dernier. ::"
#: ../Doc/howto/regex.rst:854
msgid ""
@ -1742,7 +1743,7 @@ msgstr ""
#: ../Doc/howto/regex.rst:862
msgid "For example, the following RE detects doubled words in a string. ::"
msgstr ""
"Par exemple, la RE suivante détecte les mots doublés dans une chaîne. ::"
"Par exemple, la RE suivante détecte les mots doublés dans une chaîne. ::"
#: ../Doc/howto/regex.rst:868
msgid ""
@ -1789,10 +1790,11 @@ msgstr ""
"Perl 5 est bien connu pour ses puissantes extensions des expressions "
"régulières. Pour y arriver, les développeurs Perl ne pouvaient pas utiliser "
"de nouveaux métacaractères simples ou de nouvelles séquences commençant par "
"``\\`` sans que les RE Perl ne deviennent XXX différentes des RE standards. "
"S'ils avaient choisi ``&`` comme nouveau métacaractère, par exemple, les "
"anciennes expressions auraient considéré que ``&`` était un caractère "
"standard et ne l'aurait pas échappé en écrivant ``\\&`` ou ``[&]``."
"``\\`` sans que les RE Perl ne deviennent trop différentes des RE standards "
"au point de créer de la confusion. S'ils avaient choisi ``&`` comme nouveau "
"métacaractère, par exemple, les anciennes expressions auraient considéré que "
"``&`` était un caractère standard et ne l'aurait pas échappé en écrivant ``"
"\\&`` ou ``[&]``."
#: ../Doc/howto/regex.rst:889
msgid ""
@ -1804,7 +1806,7 @@ msgid ""
"positive lookahead assertion) and ``(?:foo)`` is something else (a non-"
"capturing group containing the subexpression ``foo``)."
msgstr ""
"La solution adoptée par les développeurs Perl a été d'utiliser ``( ?...)`` "
"La solution adoptée par les développeurs Perl a été d'utiliser ``(?...)`` "
"comme syntaxe d'extension. Placer ``?`` immédiatement après une parenthèse "
"était une erreur de syntaxe, parce que le ``?`` n'a alors rien à répéter. "
"Ainsi, cela n'a pas introduit de problème de compatibilité. Les caractères "
@ -1844,7 +1846,7 @@ msgstr ""
"l'expression régulière mais le contenu de ce groupe ne vous intéresse pas "
"vraiment. Vous pouvez l'indiquer explicitement en utilisant un groupe non "
"capturant : ``(?:...)``, où vous remplacez les ``...`` par n'importe quelle "
"expression régulière. ::"
"expression régulière. ::"
#: ../Doc/howto/regex.rst:917
msgid ""
@ -2187,7 +2189,7 @@ msgstr ""
"caractères à chaque fois que la RE correspond, retournant la liste des "
"morceaux. C'est similaire à la méthode :meth:`~str.split` mais est beaucoup "
"plus générale par les délimiteurs que vous pouvez spécifier ; string :meth:`!"
"split` ne gère que les découpage en suivant les \"blancs\" ou suivant une "
"split` ne gère que les découpages en suivant les \"blancs\" ou suivant une "
"chaîne définie. Comme vous pouvez vous y attendre, il y a aussi une "
"fonction :func:`re.split` de niveau module."
@ -2215,7 +2217,7 @@ msgstr ""
"pour *maxsplit*. Quand *maxsplit* n'est pas nul, au plus *maxsplit* "
"découpages sont effectués et le reste de la chaîne est renvoyé comme dernier "
"élément de la liste. Dans l'exemple suivant, le délimiteur est toute "
"séquence de caractères non alphanumériques. ::"
"séquence de caractères non alphanumériques. ::"
#: ../Doc/howto/regex.rst:1101
msgid ""
@ -2235,11 +2237,11 @@ msgid ""
"first argument, but is otherwise the same. ::"
msgstr ""
"La fonction de niveau module :func:`re.split` ajoute la RE à utiliser comme "
"premier argument, mais est par ailleurs identique. ::"
"premier argument, mais est par ailleurs identique. ::"
#: ../Doc/howto/regex.rst:1125
msgid "Search and Replace"
msgstr "Recherche et Substitution"
msgstr "Recherche et substitution"
#: ../Doc/howto/regex.rst:1127
msgid ""
@ -2297,7 +2299,7 @@ msgid ""
"empty match. ::"
msgstr ""
"Les correspondances vides ne sont remplacées que lorsqu'elles ne sont pas "
"adjacentes à une correspondance vide précédente. ::"
"adjacentes à une correspondance vide précédente. ::"
#: ../Doc/howto/regex.rst:1167
msgid ""
@ -2309,12 +2311,21 @@ msgid ""
"incorporate portions of the original text in the resulting replacement "
"string."
msgstr ""
"Si *replacement* est une chaîne de caractères, toute barre oblique inverse "
"d'échappement est traitée. C'est-à-dire que ```\\n`` est converti en "
"caractère de nouvelle ligne, ``\\r`` est converti en retour chariot, et "
"ainsi de suite. Les échappements inconnus comme ``\\&`` sont laissés tels "
"quels. Les renvois, tels que ``\\6``, sont remplacés par la sous-chaîne "
"correspondante au groupe dans le RE. Ceci vous permet d'incorporer des "
"parties du texte original dans la chaîne de remplacement résultante."
#: ../Doc/howto/regex.rst:1174
msgid ""
"This example matches the word ``section`` followed by a string enclosed in "
"``{``, ``}``, and changes ``section`` to ``subsection``::"
msgstr ""
"Cet exemple fait correspondre le mot ``section`` suivi par une chaîne "
"encadrée par ``{`` et ``}``, et modifie ``section`` en ``subsection`` ::"
#: ../Doc/howto/regex.rst:1181
msgid ""
@ -2327,6 +2338,15 @@ msgid ""
"literal character ``'0'``.) The following substitutions are all equivalent, "
"but use all three variations of the replacement string. ::"
msgstr ""
"Il existe aussi une syntaxe pour faire référence aux groupes nommés définis "
"par la syntaxe ``(?P<nom>....)``. ``\\g<nom>`` utilise la sous-chaîne "
"correspondante au groupe nommé ``nom`` et ``\\g<numéro>`` utilise le numéro "
"de groupe correspondant. ``\\g<2>`` est donc l'équivalent de ``\\2``, mais "
"n'est pas ambigu dans une chaîne de substitution telle que ``\\g<2>0`` (``"
"\\20`` serait interprété comme une référence au groupe 20 et non comme une "
"référence au groupe 2 suivie du caractère littéral ``'0'``). Les "
"substitutions suivantes sont toutes équivalentes mais utilisent les trois "
"variantes de la chaîne de remplacement. ::"
#: ../Doc/howto/regex.rst:1198
msgid ""
@ -2336,12 +2356,20 @@ msgid ""
"a :ref:`match object <match-objects>` argument for the match and can use "
"this information to compute the desired replacement string and return it."
msgstr ""
"*replacement* peut aussi être une fonction, ce qui vous donne encore plus de "
"contrôle. Si *replacement* est une fonction, la fonction est appelée pour "
"chaque occurrence non chevauchante de *pattern*. À chaque appel, un "
"argument :ref:`objet correspondance <match-objects>` est passé à la "
"fonction, qui peut utiliser cette information pour calculer la chaîne de "
"remplacement désirée et la renvoyer."
#: ../Doc/howto/regex.rst:1204
msgid ""
"In the following example, the replacement function translates decimals into "
"hexadecimal::"
msgstr ""
"Dans l'exemple suivant, la fonction de substitution convertit un nombre "
"décimal en hexadécimal ::"
#: ../Doc/howto/regex.rst:1216
msgid ""
@ -2352,6 +2380,13 @@ msgid ""
"pattern string, e.g. ``sub(\"(?i)b+\", \"x\", \"bbbb BBBB\")`` returns ``'x "
"x'``."
msgstr ""
"Quand vous utilisez la fonction de niveau modulel :func:`re.sub`, le motif "
"est passé comme premier argument. Vous pouvez fournir le motif sous forme "
"d'objet ou de chaîne de caractères ; si vous avez besoin de spécifier des "
"options pour l'expression régulière, vous devez soit utiliser un objet motif "
"comme premier paramètre, soit utiliser des modificateurs intégrés dans la "
"chaîne de caractères, par exemple ``sub(\"(?i)b+\", \"x\", \"bbbb BBBBB"
"\")```retourne ``'x x'``."
#: ../Doc/howto/regex.rst:1224
msgid "Common Problems"
@ -2364,6 +2399,10 @@ msgid ""
"you may expect them to. This section will point out some of the most common "
"pitfalls."
msgstr ""
"Les expressions régulières constituent un outil puissant pour certaines "
"applications mais, à certains égards, leur comportement n'est pas intuitif "
"et, parfois, elles ne se comportent pas comme vous pouvez vous y attendre. "
"Cette section met en évidence certains des pièges les plus courants."
#: ../Doc/howto/regex.rst:1232
msgid "Use String Methods"
@ -2380,6 +2419,14 @@ msgid ""
"for the purpose, instead of the large, more generalized regular expression "
"engine."
msgstr ""
"Parfois, il ne faut pas utiliser le module :mod:`re`. Si vous faites "
"correspondre une chaîne fixe, ou une classe à un seul caractère, et que vous "
"n'utilisez pas les fonctionnalités de :mod:`re` telles que l'option :const:"
"`~re.IGNORECASE`, alors la puissance des expressions régulières n'est pas "
"nécessaire. Les chaînes de caractères ont plusieurs méthodes pour opérer sur "
"des chaînes fixes et elles sont généralement beaucoup plus rapides, parce "
"que l'implémentation est une seule petite boucle C qui a été optimisée, au "
"lieu du gros moteur d'expressions régulières plus généraliste."
#: ../Doc/howto/regex.rst:1242
msgid ""
@ -2393,6 +2440,15 @@ msgid ""
"``word`` have a word boundary on either side. This takes the job beyond :"
"meth:`!replace`'s abilities.)"
msgstr ""
"Nous pouvons prendre l'exemple du remplacement d'une seule chaîne fixe par "
"une autre ; vous souhaitez remplacer ``mot`` par ``acte``. :func:`re.sub` "
"semble être faite pour cela, mais regardons la méthode :meth:`~str.replace`. "
"Nous notons que :meth:`!replace` sait remplacer aussi ``mot`` à l'intérieur "
"des mots, transformant ``moteur`` en ``acteeur``, mais la RE naïve ``mot`` "
"aurait aussi fait cela (pour éviter d'effectuer la substitution sur des "
"parties de mots, le motif doit être ``\\bmot\\b``, qui exige que ``mot`` "
"soit en limite de mot d'un côté et de l'autre ; c'est au-delà des capacités "
"de la méthode :meth:`!replace`)."
#: ../Doc/howto/regex.rst:1251
msgid ""
@ -2402,16 +2458,23 @@ msgid ""
"capable of doing both tasks and will be faster than any regular expression "
"operation can be."
msgstr ""
"Une autre tâche classique est de supprimer chaque occurrence d'un seul "
"caractère d'une chaîne de caractères ou de le remplacer par un autre "
"caractère unique. Vous pouvez le faire avec quelque chose comme ``re."
"sub('\\n', ' ', S)``, mais :meth:`~str.translate` en est capable et est plus "
"rapide que n'importe quelle opération d'expression régulière."
#: ../Doc/howto/regex.rst:1257
msgid ""
"In short, before turning to the :mod:`re` module, consider whether your "
"problem can be solved with a faster and simpler string method."
msgstr ""
"Bref, avant de passer au module :mod:`re`, évaluez d'abord si votre problème "
"peut être résolu avec une méthode de chaîne plus rapide et plus simple."
#: ../Doc/howto/regex.rst:1262
msgid "match() versus search()"
msgstr ""
msgstr "match() contre search()"
#: ../Doc/howto/regex.rst:1264
msgid ""
@ -2422,12 +2485,20 @@ msgid ""
"start at 0; if the match wouldn't start at zero, :func:`!match` will *not* "
"report it. ::"
msgstr ""
"La fonction :func:`~re.match` vérifie seulement si la RE correspond au début "
"de la chaîne de caractères tandis que :func:`~re.search` parcourt la chaîne "
"de caractères pour trouver une correspondance. Il est important de garder "
"cette distinction à l'esprit. Rappelez-vous, :func:`!match` ne trouve qu'une "
"correspondance qui commence à 0 ; si la correspondance commence plus loin, :"
"func:`!match` *ne la trouve pas*. ::"
#: ../Doc/howto/regex.rst:1275
msgid ""
"On the other hand, :func:`~re.search` will scan forward through the string, "
"reporting the first match it finds. ::"
msgstr ""
"D'un autre côté, :func:`~re.search` balaie la chaîne de caractères, "
"rapportant la première correspondance qu'elle trouve. ::"
#: ../Doc/howto/regex.rst:1283
msgid ""
@ -2440,6 +2511,15 @@ msgid ""
"analysis lets the engine quickly scan through the string looking for the "
"starting character, only trying the full match if a ``'C'`` is found."
msgstr ""
"Vous pouvez être tenté d'utiliser :func:`re.match` en ajoutant simplement ``."
"*`` au début de votre RE. Ce n'est pas une bonne idée, utilisez plutôt :func:"
"`re.search`. Le compilateur d'expressions régulières analyse les REs pour "
"optimiser le processus de recherche d'une correspondance. Cette analyse "
"permet de déterminer ce que doit être le premier caractère d'une "
"correspondance ; par exemple, un motif commençant par ``Corbeau`` doit faire "
"correspondre un ``'C'`` en tête. L'analyse permet au moteur de parcourir "
"rapidement la chaîne de caractères à la recherche du caractère de départ, "
"n'essayant la correspondance complète que si un \"C\" a déjà été trouvé."
#: ../Doc/howto/regex.rst:1292
msgid ""
@ -2447,6 +2527,10 @@ msgid ""
"the string and then backtracking to find a match for the rest of the RE. "
"Use :func:`re.search` instead."
msgstr ""
"Ajouter ``.*`` annihile cette optimisation, nécessitant un balayage jusqu'à "
"la fin de la chaîne de caractères, puis un retour en arrière pour trouver "
"une correspondance pour le reste de la RE. Préférez l'utilisation :func:`re."
"search`."
#: ../Doc/howto/regex.rst:1298
msgid "Greedy versus Non-Greedy"
@ -2460,6 +2544,12 @@ msgid ""
"brackets surrounding an HTML tag. The naive pattern for matching a single "
"HTML tag doesn't work because of the greedy nature of ``.*``. ::"
msgstr ""
"Si vous répétez un motif dans une expression régulière, comme ``a*``, "
"l'action résultante est de consommer autant de motifs que possible. C'est un "
"problème lorsque vous essayez de faire correspondre une paire de "
"délimiteurs, comme des chevrons encadrant une balise HTML. Le motif naïf "
"pour faire correspondre une seule balise HTML ne fonctionne pas en raison de "
"la nature gloutonne de ``.*``. ::"
#: ../Doc/howto/regex.rst:1314
msgid ""
@ -2470,6 +2560,13 @@ msgid ""
"The final match extends from the ``'<'`` in ``'<html>'`` to the ``'>'`` in "
"``'</title>'``, which isn't what you want."
msgstr ""
"La RE correspond au ``'<'`` de ``'<html>'`` et le ``.*``` consomme le reste "
"de la chaîne. Mais, comme il reste des éléments du motif dans la RE et que "
"le ``>`` ne peut pas correspondre à la fin de la chaîne de caractères, le "
"moteur d'expression régulière doit faire marche arrière caractère par "
"caractère jusqu'à ce qu'il trouve une correspondance pour le ``>``. La "
"correspondance finale s'étend du ``'<'`` de ``'<html>'`` au ``'>'`` de ``'</"
"title>'``, ce qui n'est pas ce que vous voulez."
#: ../Doc/howto/regex.rst:1321
msgid ""
@ -2479,6 +2576,12 @@ msgid ""
"matches, and when it fails, the engine advances a character at a time, "
"retrying the ``'>'`` at every step. This produces just the right result::"
msgstr ""
"Dans ce cas, la solution consiste à utiliser des quantificateurs non "
"gloutons tels que ``*?``, ``+?``, ``??`` ou ``{m,n}?``, qui effectuent une "
"correspondance aussi *petite* que possible. Dans l'exemple ci-dessus, le "
"``'>'`` est essayé immédiatement après que le ``'<'`` corresponde et, s'il "
"échoue, le moteur avance caractère par caractère, ré-essayant ``'>'`` à "
"chaque pas. Nous obtenons alors le bon résultat ::"
#: ../Doc/howto/regex.rst:1330
msgid ""
@ -2489,6 +2592,12 @@ msgid ""
"patterns will be *very* complicated. Use an HTML or XML parser module for "
"such tasks.)"
msgstr ""
"Note : l'analyse du HTML ou du XML avec des expressions régulières est tout "
"sauf une sinécure. Les motifs écrits à la va-vite traiteront les cas "
"communs, mais HTML et XML ont des cas spéciaux qui font planter l'expression "
"régulière évidente ; quand vous aurez écrit une expression régulière qui "
"traite tous les cas possibles, les motifs seront *très* compliqués. "
"Utilisez un module d'analyse HTML ou XML pour de telles tâches."
#: ../Doc/howto/regex.rst:1338
msgid "Using re.VERBOSE"
@ -2501,6 +2610,11 @@ msgid ""
"become lengthy collections of backslashes, parentheses, and metacharacters, "
"making them difficult to read and understand."
msgstr ""
"À présent, vous vous êtes rendu compte que les expressions régulières sont "
"une notation très compacte, mais qu'elles ne sont pas très lisibles. Une RE "
"modérément complexe peut rapidement devenir une longue collection de barres "
"obliques inverses, de parenthèses et de métacaractères, ce qui la rend "
"difficile à lire et à comprendre."
#: ../Doc/howto/regex.rst:1345
msgid ""
@ -2508,6 +2622,9 @@ msgid ""
"regular expression can be helpful, because it allows you to format the "
"regular expression more clearly."
msgstr ""
"Pour de telles RE, activer l'option :const:`re.VERBOSE` à la compilation de "
"l'expression régulière peut être utile ; cela vous permet de formater "
"l'expression régulière de manière plus claire."
#: ../Doc/howto/regex.rst:1349
msgid ""
@ -2519,6 +2636,15 @@ msgid ""
"extend from a ``#`` character to the next newline. When used with triple-"
"quoted strings, this enables REs to be formatted more neatly::"
msgstr ""
"L'option ``re.VERBOSE`` a plusieurs effets. Les espaces dans l'expression "
"régulière qui *ne sont pas* à l'intérieur d'une classe de caractères sont "
"ignorées. Cela signifie qu'une expression comme ``chien | chat`` est "
"équivalente à ``chien|chat`` qui est moins lisible, mais ``[a b]`` "
"correspond toujours aux caractères ``'a'``, ``'b'`` ou à une espace. En "
"outre, vous avez la possibilité de mettre des commentaires à l'intérieur "
"d'une RE ; les commentaires s'étendent du caractère ``#`` à la nouvelle "
"ligne suivante. Lorsque vous l'utilisez avec des chaînes à triple "
"guillemets, cela permet aux RE d'être formatées plus proprement ::"
#: ../Doc/howto/regex.rst:1366
msgid "This is far more readable than::"
@ -2536,8 +2662,8 @@ msgid ""
"improvements to the author."
msgstr ""
"Les expressions régulières sont un sujet compliqué. Est-ce que ce document "
"vous a aidé à les comprendre ? Des parties ne sont pas claires, ou des "
"problèmes que vous avez rencontrés ne sont pas traités ici ? Si tel est le "
"vous a aidé à les comprendre ? Des parties ne sont pas claires, ou des "
"problèmes que vous avez rencontrés ne sont pas traités ici ? Si tel est le "
"cas, merci d'envoyer vos suggestions d'améliorations à l'auteur."
#: ../Doc/howto/regex.rst:1379