<?php
include_once $_SERVER['DOCUMENT_ROOT'] . '/include/shared-manual.inc';
$TOC = array();
$TOC_DEPRECATED = array();
$PARENTS = array();
include_once dirname(__FILE__) ."/toc/reference.pcre.pattern.syntax.inc";
$setup = array (
  'home' => 
  array (
    0 => 'index.php',
    1 => 'PHP Manual',
  ),
  'head' => 
  array (
    0 => 'UTF-8',
    1 => 'fr',
  ),
  'this' => 
  array (
    0 => 'regexp.reference.delimiters.php',
    1 => 'D&eacute;limiteurs',
    2 => 'D&eacute;limiteurs',
  ),
  'up' => 
  array (
    0 => 'reference.pcre.pattern.syntax.php',
    1 => 'Fonctionnement des expressions r&eacute;guli&egrave;res',
  ),
  'prev' => 
  array (
    0 => 'regexp.introduction.php',
    1 => 'Introduction',
  ),
  'next' => 
  array (
    0 => 'regexp.reference.meta.php',
    1 => 'M&eacute;tacaract&egrave;res',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'fr',
    'path' => 'reference/pcre/pattern.syntax.xml',
  ),
  'history' => 
  array (
  ),
);
$setup["toc"] = $TOC;
$setup["toc_deprecated"] = $TOC_DEPRECATED;
$setup["parents"] = $PARENTS;
manual_setup($setup);

contributors($setup);

?>
<div id="regexp.reference.delimiters" class="section">
  <h2 class="title">Délimiteurs</h2>
  <p class="para">
   Lors de l&#039;utilisation des fonctions PCRE, il est nécessaire que le motif soit encadré
   par des <em>délimiteurs</em>. Un délimiteur peut être n&#039;importe quel caractère 
   non alpha-numérique autre qu&#039;un backslash ou qu&#039;un espace.
   Les caractères d&#039;espacement blanc avant un délimiteur valide sont silencieusement ignorés.
  </p>
  <p class="para">
   Les délimiteurs les plus courants sont les slashes (<code class="literal">/</code>), dièses
   (<code class="literal">#</code>) et les tildes (<code class="literal">~</code>). Les exemples suivants ont
   tous des motifs encadrés avec des délimiteurs valides.
   <div class="informalexample">
    <div class="example-contents">
<div class="annotation-interactive cdata"><pre>
/foo bar/
#^[^0-9]$#
+php+
%[a-zA-Z0-9_-]%
</pre></div>
    </div>

   </div>
  </p>
  <p class="para">
   Il est également possible d&#039;utiliser les délimiteurs utilisant les crochets
   où les crochets ouvrants et fermants sont respectivement les délimiteurs de
   début et de fin. <code class="literal">()</code>, <code class="literal">{}</code>,
   <code class="literal">[]</code> et <code class="literal">&lt;&gt;</code> sont tous des styles
   de crochets valides.
   <div class="informalexample">
    <div class="example-contents">
<div class="annotation-interactive cdata"><pre>
(this [is] a (pattern))
{this [is] a (pattern)}
[this [is] a (pattern)]
&lt;this [is] a (pattern)&gt;
</pre></div>
    </div>

   </div>
   Les délimiteurs utilisant les crochets n&#039;ont pas besoin d&#039;être échappés lorsqu&#039;ils
   sont utilisés comme caractères méta dans un masque, mais, comme tout autre opérateur,
   ils doivent être échappés s&#039;ils sont utilisés comme caractères littéraux.
  </p>
  <p class="para">
   Si le délimiteur doit être décrit dans le motif, il doit être échappé avec un backslash.
   Si le délimiteur apparait souvent dans le motif, choisir un autre délimiteur est une bonne
   idée pour en augmenter la lisibilité.
   <div class="informalexample">
    <div class="example-contents">
<div class="annotation-interactive cdata"><pre>
/http:\/\//
#http://#
</pre></div>
    </div>

   </div>
   La fonction <span class="function"><a href="function.preg-quote.php" class="function">preg_quote()</a></span> peut être utilisée pour échapper une chaîne 
   et l&#039;utiliser dans un motif. Son second paramètre optionnel sert à spécifier le délimiteur
   qui doit être échappé.
  </p>
  <p class="para">
   Il est aussi possible d&#039;utiliser des <a href="reference.pcre.pattern.modifiers.php" class="link">
   modificateurs de motif</a> après le délimiteur final. L&#039;exemple suivant montre
   une correspondance insensible à la casse.
   <div class="informalexample">
    <div class="example-contents">
<div class="annotation-interactive cdata"><pre>
#[a-z]#i
</pre></div>
    </div>

   </div>
  </p>
 </div><?php manual_footer($setup); ?>