<?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 => 'ru',
  ),
  'this' => 
  array (
    0 => 'regexp.reference.delimiters.php',
    1 => 'Разделители',
    2 => 'Разделители',
  ),
  'up' => 
  array (
    0 => 'reference.pcre.pattern.syntax.php',
    1 => 'Синтаксис регулярных выражений',
  ),
  'prev' => 
  array (
    0 => 'regexp.introduction.php',
    1 => 'Вступление',
  ),
  'next' => 
  array (
    0 => 'regexp.reference.meta.php',
    1 => 'Метасимволы',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'ru',
    '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">Разделители</h2>
  <p class="para">
   При работе с функциями модуля PCRE шаблон заключают
   в <em>разделители</em>.
   В качестве разделителя разрешены любые символы, кроме буквенно-цифровых, обратного
   слеша или пробельных символов.
   Парсер без предупреждения проигнорирует пробел перед корректным разделителем.
  </p>
  <p class="para">
   Разделители, которыми пользуются чаще: слеши (<code class="literal">/</code>),
   знаки решётки (<code class="literal">#</code>) и тильды (<code class="literal">~</code>).
   Следующий абзац приводит примеры шаблонов с корректными разделителями.
   <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">
   Скобки также указывают как разделители, где начальный разделитель —
   открывающая скобка, а конечный разделитель —
   закрывающая. Символы <code class="literal">()</code>, <code class="literal">{}</code>,
   <code class="literal">[]</code> и <code class="literal">&lt;&gt;</code> —
   допустимые пары разделителей.
   <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>
   Разделители в виде скобок не нужно экранировать, если скобки также задали
   как метасимволы в шаблоне, но как и с другими разделителями скобки нужно
   экранировать, если их указывают непосредственно как символы.
  </p>

  <p class="para">
   Разделитель экранируют обратным слешем «\», если нужно указать разделитель
   внутри шаблона. Если разделитель часто указывают в шаблоне, в целях удобочитаемости
   выбирают другой разделитель для этого шаблона.
   <div class="informalexample">
    <div class="example-contents">
<div class="annotation-interactive cdata"><pre>
/http:\/\//
#http://#
</pre></div>
    </div>

   </div>
   Функцией <span class="function"><a href="function.preg-quote.php" class="function">preg_quote()</a></span> пользуются, чтобы
   экранировать строку в шаблоне, а необязательный второй параметр функции
   разрешает задать разделитель.
  </p>

  <p class="para">
   После закрывающего разделителя указывают
   <a href="reference.pcre.pattern.modifiers.php" class="link">модификаторы
   шаблонов</a>. Следующий пример показывает сопоставление без учёта регистра:
   <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); ?>