<?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.unicode.php',
    1 => 'Propri&eacute;t&eacute;s des caract&egrave;res Unicode',
    2 => 'Propri&eacute;t&eacute;s des caract&egrave;res Unicode',
  ),
  'up' => 
  array (
    0 => 'reference.pcre.pattern.syntax.php',
    1 => 'Fonctionnement des expressions r&eacute;guli&egrave;res',
  ),
  'prev' => 
  array (
    0 => 'regexp.reference.escape.php',
    1 => 'S&eacute;quences d\'&eacute;chappement',
  ),
  'next' => 
  array (
    0 => 'regexp.reference.anchors.php',
    1 => 'Ancres',
  ),
  '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.unicode" class="section">
  <h2 class="title">Propriétés des caractères Unicode</h2>
  <p class="para">
   Trois nouvelles séquences d&#039;échappement
   pour trouver des types de caractères sont disponibles lorsque
   le mode <em>UTF-8</em> est sélectionné. Elles sont :
  </p>
  <dl>
   
    <dt><em>\p{xx}</em></dt>
    <dd><span class="simpara">un caractère avec les propriétés xx</span></dd>
   
   
    <dt><em>\P{xx}</em></dt>
    <dd><span class="simpara">un caractère sans les propriétés xx</span></dd>
   
   
    <dt><em>\X</em></dt>
    <dd><span class="simpara">une séquence étendue Unicode</span></dd>
   
  </dl>
  <p class="para">
   Les noms des propriétés représentés par <code class="literal">xx</code> ci-dessus
   sont limités aux catégories de propriétés générales Unicode. Chaque caractère
   a exactement une seule de ces propriétés, spécifiée par une abréviation sur deux caractères.
   Pour des raisons de compatibilité avec Perl, la négation peut être spécifiée
   en incluant un accent circonflexe entre l&#039;accolade ouvrante et le nom de la
   propriété. Par exemple, <code class="literal">\p{^Lu}</code> équivaut à la même chose que
   <code class="literal">\P{Lu}</code>.
  </p>
  <p class="para">
   Si une seule lettre est spécifiée avec <code class="literal">\p</code> ou <code class="literal">\P</code>,
   il inclut toutes les propriétés qui commencent par cette lettre. Dans ce cas,
   en l&#039;absence de négation, les accolades dans la séquence d&#039;échappement sont
   optionnelles ; ceci revient à la même chose :
  </p>
  <div class="informalexample">
   <div class="example-contents">
<div class="annotation-interactive cdata"><pre>
\p{L}
\pL
</pre></div>
   </div>

  </div>
  <table class="doctable table">
   <caption><strong>Codes des propriétés supportées</strong></caption>
   
    <thead>
     <tr>
      <th>Propriétés</th>
      <th>Correspondance</th>
      <th>Notes</th>
     </tr>

    </thead>

    <tbody class="tbody">
     <tr>
      <td><code class="literal">C</code></td>
      <td>Autre</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Cc</code></td>
      <td>Contrôle</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Cf</code></td>
      <td>Format</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Cn</code></td>
      <td>Non affecté</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Co</code></td>
      <td>Utilisation privée</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Cs</code></td>
      <td>Substitut</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">L</code></td>
      <td>Lettre</td>
      <td>
       Inclut les propriétés suivantes : <code class="literal">Ll</code>, 
       <code class="literal">Lm</code>, <code class="literal">Lo</code>, <code class="literal">Lt</code> et 
       <code class="literal">Lu</code>.
      </td>
     </tr>

     <tr>
      <td><code class="literal">Ll</code></td>
      <td>Lettre en minuscule</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Lm</code></td>
      <td>Lettre de modification</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Lo</code></td>
      <td>Autres lettres</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Lt</code></td>
      <td>Lettre titrée</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Lu</code></td>
      <td>Lettre en majuscule</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">M</code></td>
      <td>Marque</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Mc</code></td>
      <td>Marque d&#039;espacement</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Me</code></td>
      <td>Marque d&#039;enfermement</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Mn</code></td>
      <td>Marque non espacée</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">N</code></td>
      <td>Nombre</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Nd</code></td>
      <td>Nombre décimal</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Nl</code></td>
      <td>Nombre Lettre</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">No</code></td>
      <td>Autres nombres</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">P</code></td>
      <td>Ponctuation</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Pc</code></td>
      <td>Ponctuation de connecteur</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Pd</code></td>
      <td>Tiret de ponctuation</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Pe</code></td>
      <td>Ponctuation de fermeture</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Pf</code></td>
      <td>Ponctuation finale</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Pi</code></td>
      <td>Ponctuation initiale</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Po</code></td>
      <td>Autres ponctuations</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Ps</code></td>
      <td>Ponctuation ouvrante</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">S</code></td>
      <td>Symbole</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Sc</code></td>
      <td>Symbole monétaire</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Sk</code></td>
      <td>Symbole de modification</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Sm</code></td>
      <td>Symbole mathématique</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">So</code></td>
      <td>Autres symboles</td>
      <td>Inclut des émojis</td>
     </tr>

     <tr>
      <td><code class="literal">Z</code></td>
      <td>Séparateur</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Zl</code></td>
      <td>Séparateur de ligne</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Zp</code></td>
      <td>Séparateur de paragraphe</td>
      <td class="empty">&nbsp;</td>
     </tr>

     <tr>
      <td><code class="literal">Zs</code></td>
      <td>Séparateur d&#039;espace</td>
      <td class="empty">&nbsp;</td>
     </tr>

    </tbody>
   
  </table>

  <p class="para">
   Les propriétés étendues comme <code class="literal">InMusicalSymbols</code> ne sont pas supportées
   par PCRE.
  </p>
  <p class="para">
   La sensibilité à la casse de la recherche n&#039;affecte pas les
   séquences d&#039;échappement. Par exemple, <code class="literal">\p{Lu}</code> 
   cherche toujours et uniquement les lettres en majuscules
  </p>
  <p class="para">
   Les jeux de caractères unicodes sont définis comme appartenant à certains scripts.
   Un caractère d&#039;un de ces jeux peut être trouvé en utilisant un
   nom de script. Par exemple :
  </p>
  <ul class="itemizedlist">
   <li class="listitem">
    <span class="simpara"><code class="literal">\p{Greek}</code></span>
   </li>
   <li class="listitem">
    <span class="simpara"><code class="literal">\P{Han}</code></span>
   </li>
  </ul>
  <p class="para">
   Ceux qui ne font pas partie d&#039;un script identifié sont regroupés
   dans <code class="literal">Common</code>. Voici la liste courante des scripts :
  </p>
  <table class="doctable table">
   <caption><strong>Scripts supportés</strong></caption>
   
    <tbody class="tbody">
     <tr>
      <td><code class="literal">Arabic</code></td>
      <td><code class="literal">Armenian</code></td>
      <td><code class="literal">Avestan</code></td>
      <td><code class="literal">Balinese</code></td>
      <td><code class="literal">Bamum</code></td>
     </tr>

     <tr>
      <td><code class="literal">Batak</code></td>
      <td><code class="literal">Bengali</code></td>
      <td><code class="literal">Bopomofo</code></td>
      <td><code class="literal">Brahmi</code></td>
      <td><code class="literal">Braille</code></td>
     </tr>

     <tr>
      <td><code class="literal">Buginese</code></td>
      <td><code class="literal">Buhid</code></td>
      <td><code class="literal">Canadian_Aboriginal</code></td>
      <td><code class="literal">Carian</code></td>
      <td><code class="literal">Chakma</code></td>
     </tr>

     <tr>
      <td><code class="literal">Cham</code></td>
      <td><code class="literal">Cherokee</code></td>
      <td><code class="literal">Common</code></td>
      <td><code class="literal">Coptic</code></td>
      <td><code class="literal">Cuneiform</code></td>
     </tr>

     <tr>
      <td><code class="literal">Cypriot</code></td>
      <td><code class="literal">Cyrillic</code></td>
      <td><code class="literal">Deseret</code></td>
      <td><code class="literal">Devanagari</code></td>
      <td><code class="literal">Egyptian_Hieroglyphs</code></td>
     </tr>

     <tr>
      <td><code class="literal">Ethiopic</code></td>
      <td><code class="literal">Georgian</code></td>
      <td><code class="literal">Glagolitic</code></td>
      <td><code class="literal">Gothic</code></td>
      <td><code class="literal">Greek</code></td>
     </tr>

     <tr>
      <td><code class="literal">Gujarati</code></td>
      <td><code class="literal">Gurmukhi</code></td>
      <td><code class="literal">Han</code></td>
      <td><code class="literal">Hangul</code></td>
      <td><code class="literal">Hanunoo</code></td>
     </tr>

     <tr>
      <td><code class="literal">Hebrew</code></td>
      <td><code class="literal">Hiragana</code></td>
      <td><code class="literal">Imperial_Aramaic</code></td>
      <td><code class="literal">Inherited</code></td>
      <td><code class="literal">Inscriptional_Pahlavi</code></td>
     </tr>

     <tr>
      <td><code class="literal">Inscriptional_Parthian</code></td>
      <td><code class="literal">Javanese</code></td>
      <td><code class="literal">Kaithi</code></td>
      <td><code class="literal">Kannada</code></td>
      <td><code class="literal">Katakana</code></td>
     </tr>

     <tr>
      <td><code class="literal">Kayah_Li</code></td>
      <td><code class="literal">Kharoshthi</code></td>
      <td><code class="literal">Khmer</code></td>
      <td><code class="literal">Lao</code></td>
      <td><code class="literal">Latin</code></td>
     </tr>

     <tr>
      <td><code class="literal">Lepcha</code></td>
      <td><code class="literal">Limbu</code></td>
      <td><code class="literal">Linear_B</code></td>
      <td><code class="literal">Lisu</code></td>
      <td><code class="literal">Lycian</code></td>
     </tr>

     <tr>
      <td><code class="literal">Lydian</code></td>
      <td><code class="literal">Malayalam</code></td>
      <td><code class="literal">Mandaic</code></td>
      <td><code class="literal">Meetei_Mayek</code></td>
      <td><code class="literal">Meroitic_Cursive</code></td>
     </tr>

     <tr>
      <td><code class="literal">Meroitic_Hieroglyphs</code></td>
      <td><code class="literal">Miao</code></td>
      <td><code class="literal">Mongolian</code></td>
      <td><code class="literal">Myanmar</code></td>
      <td><code class="literal">New_Tai_Lue</code></td>
     </tr>

     <tr>
      <td><code class="literal">Nko</code></td>
      <td><code class="literal">Ogham</code></td>
      <td><code class="literal">Old_Italic</code></td>
      <td><code class="literal">Old_Persian</code></td>
      <td><code class="literal">Old_South_Arabian</code></td>
     </tr>

     <tr>
      <td><code class="literal">Old_Turkic</code></td>
      <td><code class="literal">Ol_Chiki</code></td>
      <td><code class="literal">Oriya</code></td>
      <td><code class="literal">Osmanya</code></td>
      <td><code class="literal">Phags_Pa</code></td>
     </tr>

     <tr>
      <td><code class="literal">Phoenician</code></td>
      <td><code class="literal">Rejang</code></td>
      <td><code class="literal">Runic</code></td>
      <td><code class="literal">Samaritan</code></td>
      <td><code class="literal">Saurashtra</code></td>
     </tr>

     <tr>
      <td><code class="literal">Sharada</code></td>
      <td><code class="literal">Shavian</code></td>
      <td><code class="literal">Sinhala</code></td>
      <td><code class="literal">Sora_Sompeng</code></td>
      <td><code class="literal">Sundanese</code></td>
     </tr>

     <tr>
      <td><code class="literal">Syloti_Nagri</code></td>
      <td><code class="literal">Syriac</code></td>
      <td><code class="literal">Tagalog</code></td>
      <td><code class="literal">Tagbanwa</code></td>
      <td><code class="literal">Tai_Le</code></td>
     </tr>

     <tr>
      <td><code class="literal">Tai_Tham</code></td>
      <td><code class="literal">Tai_Viet</code></td>
      <td><code class="literal">Takri</code></td>
      <td><code class="literal">Tamil</code></td>
      <td><code class="literal">Telugu</code></td>
     </tr>

     <tr>
      <td><code class="literal">Thaana</code></td>
      <td><code class="literal">Thai</code></td>
      <td><code class="literal">Tibetan</code></td>
      <td><code class="literal">Tifinagh</code></td>
      <td><code class="literal">Ugaritic</code></td>
     </tr>

     <tr>
      <td><code class="literal">Vai</code></td>
      <td><code class="literal">Yi</code></td>
      <td class="empty">&nbsp;</td>
      <td class="empty">&nbsp;</td>
      <td class="empty">&nbsp;</td>
     </tr>

    </tbody>
   
  </table>

  <p class="para">
   La séquence <code class="literal">\X</code> cherche n&#039;importe quel groupe de
   graphème Unicode étendu. Un groupe de graphème est une chaîne
   composée d&#039;un ou plusieurs caractères Unicode qui se combinent
   pour former un seul glyphe. Dans les faits, cela revient à utiliser
   le caractère <code class="literal">.</code> sachant qu&#039;il va matcher un
   caractère composé, peu importe le nombre de caractères individuels
   nécessaire à l&#039;afficher.
  </p>
  <p class="para">
   Dans les versions PCRE inférieures à 8.32 (ce qui correspond aux
   versions de PHP antérieures à la version 5.4.14 lorsque la
   bibliothèque interne est utilisée), <code class="literal">\X</code> était
   équivalent à <code class="literal">(?&gt;\PM\pM*)</code>. Aussi, il matchait
   un caractère sans propriété &quot;mark&quot;, suivi par aucun ou plusieurs
   caractères possédant la propriété &quot;mark&quot;, et traitait la séquence
   comme un groupe atomique (voir ci-dessous). Les caractères
   avec la propriété &quot;mark&quot; sont typiquement les lettres accentuées
   qui affectent le caractère qui la précède.
  </p>
  <p class="para">
   La recherche de caractères par les propriétés Unicode n&#039;est pas la méthode
   la plus rapide, car PCRE doit chercher une structure qui contient les données
   dans plus de quinze mille caractères. C&#039;est pour cela que les séquences
   traditionnelles comme <code class="literal">\d</code> et
   <code class="literal">\w</code> n&#039;utilisent pas les propriétés Unicode dans PCRE.
  </p>
 </div><?php manual_footer($setup); ?>