mirror of
https://github.com/macintoshplus/doc-fr.git
synced 2026-03-24 08:52:09 +01:00
226 lines
9.3 KiB
XML
226 lines
9.3 KiB
XML
<?xml version="1.0" encoding="utf-8"?>
|
|
<!-- $Revision$ -->
|
|
<!-- EN-Revision: 288ea761f5a8e7c685fe7f6fce2d7de0a87b31bd Maintainer: yannick Status: ready -->
|
|
<!-- Reviewed: no -->
|
|
|
|
<article xml:id="reference.pcre.pattern.modifiers" xmlns="http://docbook.org/ns/docbook">
|
|
<title>Options de recherche</title>
|
|
<titleabbrev>Options disponibles pour les expressions régulières</titleabbrev>
|
|
<para>
|
|
Les options de PCRE sont listées ci-dessous. Les noms entre
|
|
parenthèses sont les noms internes à PCRE.
|
|
Les espaces et les caractères de nouvelles lignes sont ignorés
|
|
dans les modificateurs, les autres caractères causent des erreurs.
|
|
</para>
|
|
<para>
|
|
<blockquote>
|
|
<variablelist>
|
|
<varlistentry>
|
|
<term><emphasis>i</emphasis> (<literal>PCRE_CASELESS</literal>)</term>
|
|
<listitem>
|
|
<simpara>
|
|
Effectue une recherche insensible à la casse.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><emphasis>m</emphasis> (<literal>PCRE_MULTILINE</literal>)</term>
|
|
<listitem>
|
|
<simpara>
|
|
Par défaut, PCRE traite la chaîne sujet comme une seule
|
|
ligne (même si cette chaîne contient des retours chariot).
|
|
Le métacaractère "début de ligne" (^) ne sera
|
|
valable qu'une seule fois, au début de la ligne, et le
|
|
métacaractère "fin de ligne " ($) ne sera valable
|
|
qu'à la fin de la chaîne, ou avant le retour chariot
|
|
final (à moins que l'option <emphasis>D</emphasis> ne soit activée).
|
|
C'est le même fonctionnement qu'en Perl.
|
|
</simpara>
|
|
<simpara>
|
|
Lorsque cette option est activée, " début de ligne " et
|
|
" fin de ligne " correspondront alors aux caractères
|
|
suivant et précédent immédiatement un
|
|
caractère de nouvelle ligne, en plus du début
|
|
et de la fin de la chaîne. C'est le même
|
|
fonctionnement que l'option Perl /m. S'il n'y a pas de
|
|
caractère de nouvelle ligne "\n" dans la chaîne sujet,
|
|
ou s'il n'y a aucune occurrence de ^ ou $ dans le masque, cette option
|
|
ne sert à rien.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><emphasis>s</emphasis> (<literal>PCRE_DOTALL</literal>)</term>
|
|
<listitem>
|
|
<simpara>
|
|
Avec cette option, le métacaractère point (.)
|
|
remplace n'importe quel caractère, y compris les nouvelles
|
|
lignes. Sans cette option, le caractère point ne remplace
|
|
pas les nouvelles lignes. Cette option est équivalente
|
|
à l'option Perl /s. Une classe de caractères
|
|
négative telle que [^a] acceptera toujours les
|
|
caractères de nouvelles lignes, indépendamment
|
|
de cette option.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><emphasis>x</emphasis> (<literal>PCRE_EXTENDED</literal>)</term>
|
|
<listitem>
|
|
<simpara>
|
|
Avec cette option, les caractères d'espacement sont
|
|
ignorés, sauf lorsqu'ils sont échappés,
|
|
ou à l'intérieur d'une classe de caractères,
|
|
et tous les caractères entre # non échappés
|
|
et en dehors d'une classe de caractères, et le prochain
|
|
caractère de nouvelle ligne sont ignorés. C'est
|
|
l'équivalent Perl de l'option /x : elle permet l'ajout
|
|
de commentaires dans les masques compliqués. Notez bien,
|
|
cependant, que cela ne s'applique qu'aux caractères de
|
|
données. Les caractères d'espacement ne doivent
|
|
jamais apparaître dans les séquences spéciales
|
|
d'un masque, par exemple dans la séquence (?( qui
|
|
introduit une parenthèse conditionnelle.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><emphasis>A</emphasis> (<literal>PCRE_ANCHORED</literal>)</term>
|
|
<listitem>
|
|
<simpara>
|
|
Avec cette option, le masque est ancré de force, c'est-à-dire
|
|
que le masque doit s'appliquer juste au début de la chaîne sujet
|
|
pour être considéré comme trouvé. Il est possible de réaliser le
|
|
même effet en ajoutant les métacaractères adéquats, ce qui est la
|
|
seule manière de le faire en Perl.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><emphasis>D</emphasis> (<literal>PCRE_DOLLAR_ENDONLY</literal>)</term>
|
|
<listitem>
|
|
<simpara>
|
|
Avec cette option, le métacaractère $ ne sera
|
|
valable qu'à la fin de la chaîne sujet. Sans
|
|
cette option, $ est aussi valable avant une nouvelle ligne,
|
|
si cette dernière est le dernier caractère de
|
|
la chaîne. Cette option est ignorée si l'option
|
|
<emphasis>m</emphasis> est activée. Il n'y a pas
|
|
d'équivalent en Perl.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><emphasis>S</emphasis></term>
|
|
<listitem>
|
|
<simpara>
|
|
Lorsqu'un masque est utilisé plusieurs fois, cela vaut
|
|
la peine de passer quelques instants de plus pour l'analyser
|
|
et optimiser le code pour accélérer les
|
|
traitements ultérieurs. Cette option force cette
|
|
analyse plus poussée. Actuellement, cette analyse
|
|
n'est utile que pour les masques non ancrés, qui
|
|
ne commencent pas par un caractère fixe.
|
|
Depuis PHP 7.3.0, ce drapeau n'a plus d'effet.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><emphasis>U</emphasis> (<literal>PCRE_UNGREEDY</literal>)</term>
|
|
<listitem>
|
|
<simpara>
|
|
Cette option inverse la tendance à la gourmandise des
|
|
expressions régulières. Vous pouvez aussi inverser
|
|
cette tendance au coup par coup avec un <literal>?</literal> mais
|
|
cela rendra gourmand la séquence. Cette option n'est pas compatible
|
|
avec Perl. Elle peut aussi être mise dans le masque avec
|
|
l'option <literal>(?U)</literal> dans le
|
|
<link linkend="regexp.reference.internal-options">pattern</link> ou
|
|
par un point d'interrogation avant le quantificateur (.e.g. <literal>.*?</literal>).
|
|
</simpara>
|
|
<note>
|
|
<para>
|
|
Il n'est généralement pas possible de faire correspondre
|
|
plus que la limite de <link
|
|
linkend="ini.pcre.backtrack-limit">pcre.backtrack_limit</link>
|
|
caractères en mode non gourmand.
|
|
</para>
|
|
</note>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><emphasis>X</emphasis> (<literal>PCRE_EXTRA</literal>)</term>
|
|
<listitem>
|
|
<simpara>
|
|
Cette option ajoute d'autres fonctionnalités incompatibles
|
|
avec le PCRE de Perl. Tous les antislashs suivis d'une lettre qui
|
|
n'aurait pas de signification particulière causent une erreur,
|
|
permettant la réservation de ces combinaisons pour des ajouts
|
|
fonctionnels ultérieurs. Par défaut, comme en Perl, les
|
|
antislashs suivis d'une lettre sans signification particulière
|
|
sont traités comme des valeurs littérales. Actuellement,
|
|
cette option ne déclenche pas d'autres fonctions.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><emphasis>J</emphasis> (<literal>PCRE_INFO_JCHANGED</literal>)</term>
|
|
<listitem>
|
|
<simpara>
|
|
L'option (?J) interne de configuration modifie l'option locale <literal>PCRE_DUPNAMES</literal>.
|
|
Permet la duplication de noms pour les sous-masques.
|
|
À partir de PHP 7.2.0 <literal>J</literal> est aussi supporter en tant que modificateur.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><emphasis>u</emphasis> (<literal>PCRE_UTF8</literal>)</term>
|
|
<listitem>
|
|
<simpara>
|
|
Cette option active des fonctionnalités additionnelles de PCRE qui ne sont pas compatibles avec Perl.
|
|
La chaîne d'entrée et le masque sont traités comme des chaînes UTF-8.
|
|
Une chaîne d'entrée invalide aura pour conséquence une absence de correspondance dans les fonctions preg_*.
|
|
Un masque invalide va lever une erreur de niveau <constant>E_WARNING</constant>.
|
|
Les séquences UTF-8 de cinq et six octets sont considérées comme invalides.
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
<varlistentry>
|
|
<term><emphasis>n</emphasis> (<literal>PCRE_NO_AUTO_CAPTURE</literal>)</term>
|
|
<listitem>
|
|
<simpara>
|
|
Ce modificateur rend les groupes simples <code>(xyz)</code> non capturants.
|
|
Seuls les groupes nommés comme <code>(?<name>xyz)</code> sont capturants.
|
|
Cela affecte uniquement les groupes capturants, il est toujours possible
|
|
d'utiliser des références de sous-masque numérotées, et le tableau de
|
|
correspondances contiendra toujours des résultats numérotés.
|
|
Disponible à partir de PHP 8.2.0
|
|
</simpara>
|
|
</listitem>
|
|
</varlistentry>
|
|
</variablelist>
|
|
</blockquote>
|
|
</para>
|
|
</article>
|
|
|
|
<!-- Keep this comment at the end of the file
|
|
Local variables:
|
|
mode: sgml
|
|
sgml-omittag:t
|
|
sgml-shorttag:t
|
|
sgml-minimize-attributes:nil
|
|
sgml-always-quote-attributes:t
|
|
sgml-indent-step:1
|
|
sgml-indent-data:t
|
|
indent-tabs-mode:nil
|
|
sgml-parent-document:nil
|
|
sgml-default-dtd-file:"~/.phpdoc/manual.ced"
|
|
sgml-exposed-tags:nil
|
|
sgml-local-catalogs:nil
|
|
sgml-local-ecat-files:nil
|
|
End:
|
|
vim600: syn=xml fen fdm=syntax fdl=2 si
|
|
vim: et tw=78 syn=sgml
|
|
vi: ts=1 sw=1
|
|
-->
|