Belgeleri:? Regex?

0 Cevap php

Bir süre önce, ben bir yakalama grup prepending tarafından yakalamak değil yapabilirsiniz (en azından PHP) regex gördüm ?:.

Example

$str = 'big blue ball';
$regex = '/b(ig|all)/';
preg_match_all($regex, $str, $matches);
var_dump($matches);

Çıkışlar ...

array(2) {
  [0]=>
  array(2) {
    [0]=>
    string(3) "big"
    [1]=>
    string(4) "ball"
  }
  [1]=>
  array(2) {
    [0]=>
    string(2) "ig"
    [1]=>
    string(3) "all"
  }
}

Bu örnekte, parantez içinde eşleşen ne umurumda değil, bu yüzden ?: ('/b(?:ig|all)/') eklenir ve çıkışı var

array(1) {
  [0]=>
  array(2) {
    [0]=>
    string(3) "big"
    [1]=>
    string(4) "ball"
  }
}

Bu çok kullanışlı - en azından ben öyle düşünüyorum. Bazen sadece gereksiz değerleri ile sonuç yığılmayı istemiyorum.

Ben belgeleri ve bunun için resmi adını bakmaya çalışıyor (Ben bir sigara yakalama grubu diyoruz, ama ben daha önce de duydum düşünüyorum).

Semboller olmak, bunun için Google'a zor görünüyordu.

Ben de hiçbir söz ile, regex referans kılavuzları bir dizi baktık.

? ile öneki olmak, ve parantez içindeki ilk karakter görünen o lookaheads veya geriye ilerleme ile ilgili bir şey var inanmak beni bırakacaktı.

Yani, bunlar için uygun adı nedir, ve ben daha nerede öğrenebilirim?

0 Cevap