<?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 => 'tr',
  ),
  'this' => 
  array (
    0 => 'regexp.reference.escape.php',
    1 => '&Ouml;nceleme karakteri',
    2 => '&Ouml;nceleme karakteri',
  ),
  'up' => 
  array (
    0 => 'reference.pcre.pattern.syntax.php',
    1 => 'Şablon S&ouml;zdizimi',
  ),
  'prev' => 
  array (
    0 => 'regexp.reference.meta.php',
    1 => 'D&uuml;zenli ifade İşle&ccedil;leri',
  ),
  'next' => 
  array (
    0 => 'regexp.reference.unicode.php',
    1 => 'Unicode Karakterlerinini &Ouml;zellikleri',
  ),
  'alternatives' => 
  array (
  ),
  'source' => 
  array (
    'lang' => 'tr',
    '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.escape" class="section">
  <h2 class="title">Önceleme karakteri</h2>
  <p class="para">
   Tersbölü karakterinin çeşitli kullanımları vardır.
   <em>Tersbölünün ilk kullanım çeşidinde</em>, bir harfin
   veya bir rakamın soluna konmuşsa karakterin özel anlamını kaldırır;
   karakter sınıflarının içinde ve dışında bir önceleme karakteri olarak
   iş görür.
  </p>
  <p class="para">
   Örneğin, şablonunuzun &quot;*&quot; karakteri ile eşleşmesini isterseniz, şablonu
   &quot;\*&quot; biçiminde yazmalısınız. Tersbölü karakterinin öncelediği karakter
   bir düzenli ifade işleci olsun ya da olmasın yorumu değişmeyecek, daima
   öncelediği karakter kendisiyle eşleşecektir. Sonuç olarak, önceleme
   işleci harf veya rakam olmayan karakterlerle de güvenle
   kullanılabilmektedir. Özellikle, bir tersbölü karakteri ile eşleşme
   sağlamak için &quot;\\&quot; yazmalısınız.
  </p>
  <blockquote class="note"><p><strong class="note">Bilginize</strong>: 
   <p class="para">
    Tek ve çift tırnaklı PHP <a href="language.types.string.php#language.types.string.syntax" class="link">
    dizeleri</a> içinde tersbölü karakteri özel olarak ele alınır. Bir
    \ ile eşleşen \\ düzenli ifadesi, PHP kodu içinde &quot;\\\\&quot; veya &#039;\\\\&#039;
    olarak belirtilmelidir.
   </p>
  </p></blockquote>
  <p class="para">
   Bir şablon <a href="reference.pcre.pattern.modifiers.php" class="link">
   PCRE_EXTENDED</a> seçeneği ile derlenmişse kalıp içindeki (bir
   karakter sınıfının dışında kalan) boşluk karakterleri ve bir karakter
   sınıfının dışındaki bir &quot;#&quot; karakteri ile sonraki satırsonu karakteri
   arasındaki karakterler yok sayılır. Bir boşluk veya &quot;#&quot; karakterini
   şablonun parçası haline getirmek için, karakter tersbölü ile öncelenir.
  </p>
  <p class="para">
   <em>Tersbölü karakterinin ikinci kullanımı</em>,
   basılamayan karakterleri şablon içinde görünür kılmak içindir. İkil
   sıfırın şablonu sonlandırması dışında basılamayan karakterlerin
   görünümü ile ilgili bir kısıtlama yoktur. Fakat, bir şablon, bir metni
   düzenleyerek hazırlanıyorsa aşağıdaki önceleme dizilimlerini kullanmak,
   ifade ettikleri ikil karakterleri kullanmaktan daha kolaydır:
  </p>
  <p class="para">
   <dl>
    
     <dt><em>\a</em></dt>
     <dd><span class="simpara">sesli uyarı, yani BEL karakteri (onaltılık 07)
     </span>
     </dd>
    
    
     <dt><em>\cx</em></dt>
     <dd><span class="simpara">&quot;CTRL-x&quot;; buradaki x yerine herhangi bir
     karakter konabilir</span></dd>
    
    
     <dt><em>\e</em></dt>
     <dd><span class="simpara">kaçış karakteri (onaltılık 1B)</span></dd>
    
    
     <dt><em>\f</em></dt>
     <dd><span class="simpara">sayfa ileri (onaltılık 0C)</span></dd>
    
    
     <dt><em>\n</em></dt>
     <dd><span class="simpara">satırsonu (onaltılık 0A)</span></dd>
    
    
     <dt><em>\p{xx}</em></dt>
     <dd>
      <span class="simpara">
       xx özellikli bir karakter, daha fazla bilgi için bkz.
       <a href="regexp.reference.unicode.php" class="link">unicode özellikleri</a>.
      </span>
     </dd>
    
    
     <dt><em>\P{xx}</em></dt>
     <dd>
      <span class="simpara">
       xx özelliksiz bir karakter, daha fazla bilgi için bkz.
       <a href="regexp.reference.unicode.php" class="link">unicode özellikleri</a>.
      </span>
     </dd>
    
    
     <dt><em>\r</em></dt>
     <dd><span class="simpara">satırbaşı (onaltılık 0D)</span></dd>
    
    
     <dt><em>\R</em></dt>
     <dd>
      <span class="simpara">satırsonu:\n, \r ve \r\n ile eşleşir</span>
     </dd>
    
    
     <dt><em>\t</em></dt>
     <dd><span class="simpara">sekme (onaltılık 09)</span></dd>
    
    
     <dt><em>\xhh</em></dt>
     <dd>
      <span class="simpara">onaltılık kodu hh olan karakter</span>
     </dd>
    
    
     <dt><em>\ddd</em></dt>
     <dd><span class="simpara">sekizlik kodu ddd olan karakter veya bir geriye
     gönderim</span></dd>
    
   </dl>
  </p>
  <p class="para">
   &quot;<code class="literal">\cx</code>&quot; diziliminin en hassas etkisi şöyledir:
   &quot;<code class="literal">x</code>&quot; bir küçük harf ise büyük harfe dönüştürülür ve
   karakterin 6. biti (onaltılık 40) evrilir. Böylece,
   &quot;<code class="literal">\cz</code>&quot; dizilimi onaltılık 1A haline gelirken
   &quot;<code class="literal">\c{</code>&quot; onaltılık 3B ve &quot;<code class="literal">\c;</code>&quot;
   onaltılık 7B haline gelir.
  </p>
  <p class="para">
   &quot;<code class="literal">\x</code>&quot; dizilimden sonra en fazla iki onaltılık rakam
   okunur (harfler büyük veya küçük olabilir). <em>UTF-8
   kipinde</em>, &quot;<code class="literal">\x{...}</code>&quot; gösterimine izin
   verilir; kaşlı ayraçların arasına yazılan onaltılık sayı UTF-8
   karakterin kodu olarak yorumlanır. Özgün onaltılık önceleme dizilimi
   <code class="literal">\xhh</code>, eğer karakterin kodu 127&#039;den büyükse iki
   baytlık bir UTF-8 karakteri ile eşleşecektir.
  </p>
  <p class="para">
   &quot;<code class="literal">\0</code>&quot; dizilimden sonra en fazla iki sekizlik rakam
   okunur. Her iki durumda da, iki rakamdan azı varsa olanlar kullanılır.
   Böylece, &quot;<code class="literal">\0\x\07</code>&quot; dizilimi iki ikil sıfırdan sonra
   bir BEL karakteri olarak yorumlanır. Eğer sekizlik gösterimin hemen
   ardından sekizlik rakam olarak yorumlanabilecek bir karakter geliyorsa
   ilk sıfırdan sonra mutlaka iki sekizlik rakam kullanın.
  </p>
  <p class="para">
   Tersbölünün hemen ardından 0 haricinde bir rakam gelmesi durumunda durum
   biraz karışır. Bir karakter sınıfının dışında, PCRE o rakamı ve diğer
   rakamları bir onluk sayı olarak okur. Eğer sayı 10&#039;dan küçükse veya
   evvelce belirtilmiş yakalayan alt şablonlar varsa dizilimin tamamı bir
   <em>geriye gönderim</em> olarak  ele alınır. İkinci durumun
   nasıl çalıştığı aşağıda parantezli alt şablonların açıklamasında
   anlatılmıştır.
  </p>
  <p class="para">
   Bir karakter sınıfının içinde veya evvelinde yakalayan alt şablonlar
   bulunmayan 9&#039;dan büyük bir onluk sayı varlığında PCRE tersbölüden sonra
   en fazla üç sekizlik rakam okur ve değerin en önemsiz 8 bitinden tek bir
   bayt üretir. Daha sonraki rakamlar karakterlerin kendileri olarak ele
   alınır. Örnekler:
  </p>
  <p class="para">
   <dl>
    
     <dt><em>\040</em></dt>
     <dd><span class="simpara">Boşluk karakterini ifade etmenin bir başka yolu.
     </span></dd>
    
    
     <dt><em>\40</em></dt>
     <dd>
      <span class="simpara">
       40&#039;tan az yakalayan alt şablon varlığında bu da aynısı.
      </span>
     </dd>
    
    
     <dt><em>\7</em></dt>
     <dd><span class="simpara">Daima geriye gönderim olarak yorumlanır.
     </span></dd>
    
    
     <dt><em>\11</em></dt>
     <dd>
      <span class="simpara">
       Duruma göre, bir geriye gönderim olabileceği gibi sekme karakteri
       olarak da yorumlanabilir.
      </span>
     </dd>
    
    
     <dt><em>\011</em></dt>
     <dd><span class="simpara">Daima bir sekme karakteridir</span></dd>
    
    
     <dt><em>\0113</em></dt>
     <dd><span class="simpara">Sekme karakterinden sonra &quot;3&quot; var.
     </span></dd>
    
    
     <dt><em>\113</em></dt>
     <dd>
      <span class="simpara">
       Sekizlik kodu 113 olan karakter (99&#039;dan fazla geriye gönderim
       olamayacağı için).
      </span>
     </dd>
    
    
     <dt><em>\377</em></dt>
     <dd><span class="simpara">Tamamı 1 bitten oluşan bir bayt.
     </span></dd>
    
    
     <dt><em>\81</em></dt>
     <dd>
      <span class="simpara">
       Duruma göre, bir geriye gönderim olabileceği gibi ikil sıfırın
       ardından gelen &quot;8&quot; ve &quot;1&quot; karakterleri de olabilir.
      </span>
     </dd>
    
   </dl>
  </p>
  <p class="para">
   100&#039;den büyük sekizlik değerlerin başına sıfır konmamalıdır, çünkü üç
   sekizlik rakamdan fazlası sekizlik sayının rakamları olarak ele
   alınmamaktadır.
  </p>
  <p class="para">
   Tek bir bayt değerini tanımlayan tüm dizilimler karakter sınıflarının
   içinde de dışında da kullanılabilir. Ek olarak, bir karakter sınıfının
   içinde, &quot;<code class="literal">\b</code>&quot; dizilimi bir tersbölü karakteri
   (onaltılık 08) olarak yorumlanır. Karakter sınıfının dışında ise anlamı
   farklıdır (aşağıya bakınız).
  </p>
  <p class="para">
   <em>Tersbölünün üçüncü kullanımı</em> soysal karakter
   türlerini belirtmek içindir:
  </p>
  <p class="para">
   <dl>
    
     <dt><em>\d</em></dt>
     <dd><span class="simpara">Herhangi bir onluk rakam</span></dd>
    
    
     <dt><em>\D</em></dt>
     <dd><span class="simpara">Bir onluk rakam olmayan herhangi bir karakter
     </span></dd>
    
    
     <dt><em>\h</em></dt>
     <dd><span class="simpara">Herhangi bir yatay boşluk karakteri</span>
     </dd>
    
    
     <dt><em>\H</em></dt>
     <dd><span class="simpara">Bir yatay boşluk karakteri olmayan herhangi bir
     karakter</span></dd>
    
    
     <dt><em>\s</em></dt>
     <dd><span class="simpara">Herhangi bir boşluk karakteri</span></dd>
    
    
     <dt><em>\S</em></dt>
     <dd><span class="simpara">Bir boşluk karakteri olmayan herhangi bir karakter
     </span></dd>
    
    
     <dt><em>\v</em></dt>
     <dd><span class="simpara">Herhangi bir düşey boşluk karakteri</span>
     </dd>
    
    
     <dt><em>\V</em></dt>
     <dd><span class="simpara">Bir düşey boşluk karakteri olmayan herhangi bir
     karakter</span></dd>
    
    
     <dt><em>\w</em></dt>
     <dd><span class="simpara">Herhangi bir &quot;sözcük&quot; karakteri
     </span></dd>
    
    
     <dt><em>\W</em></dt>
     <dd><span class="simpara">Bir &quot;sözcük&quot; karakteri olmayan herhangi bir
     karakter</span></dd>
    
   </dl>
  </p>
  <p class="para">
   Her önceleme dizilimi çifti karakter kümesinin tamamını iki ayrı küme
   haline getirir. Belirtilen her karakter sadece ve sadece bir çift ile
   eşleşir.
  </p>
  <p class="para">
   &quot;Boşluk&quot; karakterleri HT (9), LF (10), FF (12), CR (13) ve boşluktur (32).
   Bununla birlikte, yerele özgü eşleştirme gerçekleşiyorsa, 128-255
   aralığındaki kodlar sahip karakterler de boşluk karakterleri olarak
   kabul edilebilir, örneğin, NBSP (A0).
  </p>
  <p class="para">
   Bir &quot;sözcük&quot; karakteri herhangi bir harf, rakam veya alt çizgi karakteri
   olabilir, yani, bir Perl sözcüğünün parçası olabilen her karakter bir
   &quot;sözcük&quot; karakteri olabilir. Harflerin ve rakamların tanımı PCRE&#039;nin
   karakter tablosu tarafından denetlenir ve eşleştirme yerele özgü
   yapılıyorsa bu tanım değişebilir. Örneğin &quot;tr&quot; yerelindeki 128&#039;den büyük
   karakter koduna sahip &quot;çğıöşü&quot; gibi karakterler <code class="literal">\w</code>
   ile eşleşir.
  </p>
  <p class="para">
   Karakter türündeki bu dizilimler karakter sınıflarının içinde veya
   dışında bulunabilir. Her biri uygun türdeki bir karakterle eşleşir. Eğer
   karakter eşleştirmesinde eşleşmeye konu dizgenin sonuna gelinmişse
   hiçbir karakter eşleşmeyeceğinden işlem başarısız olacaktır.
  </p>
  <p class="para">
   <em>Tersbölünün dördüncü kullanımı</em> bazı basit tezleri
   belirtmek içindir. Bir tez, eşleşmeye konu dizgenin hiçbir karakterini
   harcamaksızın belli bir noktada yerine getirilmesi gereken bir koşul
   belirtir. Daha karmaşık tezler için alt şablonların kullanımı aşağıda
   açıklanmıştır. Tez işleçleri şunlardır:
  </p>
  <p class="para">
   <dl>
    
     <dt><em>\b</em></dt>
     <dd><span class="simpara">Sözcük sınırlarıyla eşleşme işleci
     </span></dd>
    
    
     <dt><em>\B</em></dt>
     <dd><span class="simpara">Sözcük içi eşleşme işleci</span></dd>
    
    
     <dt><em>\A</em></dt>
     <dd><span class="simpara">Eşleşmeye konu dizgenin başlangıcı ile eşleşme
     işleci (çok satırlı kipten bağımsız)</span></dd>
    
    
     <dt><em>\Z</em></dt>
     <dd>
      <span class="simpara">
       Eşleşmeye konu dizgedeki satırsonu karakterinin öncesiyle
       eşleşme işleci (çok satırlı kipten bağımsız)
      </span>
     </dd>
    
    
     <dt><em>\z</em></dt>
     <dd><span class="simpara">Eşleşmeye konu dizgenin sonu ile eşleşme işleci
     (çok satırlı kipten bağımsız)</span></dd>
    
    
     <dt><em>\G</em></dt>
     <dd><span class="simpara">eşleşmeye konu dizgede eşleşme başlangıcını
     belirtme işleci</span></dd>
    
   </dl>
  </p>
  <p class="para">
   Bu tez işleçleri &quot;<code class="literal">\b</code>&quot; hariç karakter sınıfları içinde
   görünmezler. &quot;<code class="literal">\b</code>&quot; işleci karakter sınıfları içinde
   özel bir anlama sahiptir ve tersbölü karaterini simgeler.
  </p>
  <p class="para">
   Eşleşmeye konu dizge içinde geçerli karakterin <code class="literal">\w</code>
   işleci ile ve önceki karakterin <code class="literal">\W</code> işleci ile
   eşleştiği nokta sözcük sınırının başlangıcını; geçerli karakterin
   <code class="literal">\W</code> işleci ile ve önceki karakterin
   <code class="literal">\w</code> işleci ile eşleştiği nokta ise sözcük sınırının
   bitişini belirler.
  </p>
  <p class="para">
   <code class="literal">\A</code>, <code class="literal">\Z</code> ve
   <code class="literal">\z</code> tez işleçleri, seçeneklerle belirlenen şekilde
   dizgenin en başı ve dizgenin en sonu ile eşleşen geleneksel şapka ve
   dolar imli işleçlerden
   (<a href="regexp.reference.anchors.php" class="link">çıpalar</a> altında
   açıklanmıştır) farklı olup
   <a href="reference.pcre.pattern.modifiers.php" class="link">PCRE_MULTILINE</a>
   veya <a href="reference.pcre.pattern.modifiers.php" class="link">
   PCRE_DOLLAR_ENDONLY</a> seçeneğinden etkilenmezler.
   <code class="literal">\Z</code> ile <code class="literal">\z</code> arasındaki fark
   <code class="literal">\Z</code> işlecinin dizgenin son karakteri olan satırsonu
   karakterinin öncesiyle eşleşmesi, <code class="literal">\z</code> işlecinin ise
   sadece dizge sonu ile eşleşmesidir.
  </p>
  <p class="para">
   <code class="literal">\G</code> savı, sadece, geçerli eşleşme konumu eşleşmenin
   başlangıç noktasında (<span class="function"><a href="function.preg-match.php" class="function">preg_match()</a></span> işlevinin
   <code class="parameter">başlangıç</code> bağımsız değişkeni ile belirtilen noktada)
   olduğu takdirde doğru olacaktır. <code class="parameter">başlangıç</code>
   sıfırdan farklı olduğu durumda <code class="literal">\G</code> işleci
   <code class="literal">\A</code> işlecinden farklıdır.
  </p>
  <p class="para">
   <code class="literal">\Q</code> ve <code class="literal">\E</code>
   işleçleri şablon içindeki düzenli ifade işleçlerini geçersiz kılmak
   için kullanılabilmektedir. Örneğin, <code class="literal">\w+\Q.$.\E$</code>
   düzenli ifadesi dizge sonuna demirlenmiş <code class="literal">.$.</code>
   karakterleriyle ve bunların öncesindeki bir veya daha fazla sayıda
   sözcük karakteriyle eşleşecektir. Bu, ayraçların davranışını değiştirmez.
   Örneğin, <code class="literal">#\Q#\E#$</code> düzenli ifadesi, ikinci
   <code class="literal">#</code> şablonun sonunu imlediğinden ve
   <code class="literal">\E#</code> geçersiz değiştirici olarak yorumlandığından
   geçersizdir.
  </p>
  <p class="para">
   <code class="literal">\K</code> işleci eşleşme
   başlangıcını sıfırlamak için kullanılabilmektedir. Örneğin,
   <code class="literal">foo\Kbar</code> şablonu, &quot;foobar&quot; ile eşleşir, fakat &quot;bar&quot;
   ile eşleştiğini raporlar. <code class="literal">\K</code> işlecinin kullanımı
   zaten eşleştirilmiş alt dizge ile etkileşmez. Örneğin,
   <code class="literal">(foo)\Kbar</code> şablonu &quot;foobar&quot; ile eşleşirken eşleşen
   ilk alt dizge &quot;foo&quot; olacaktır.
  </p>
 </div><?php manual_footer($setup); ?>