⊗ppPmRgNPB 252 of 447 menu

PHP'de Yakalama Yapmayan Parantezler

Parantezler () iki işlevi yerine getirir - karakterleri gruplama ve yakalama grubu işlevi. Peki ya gruplamamız gerekiyor ama yakalama grubuna koymamak istiyorsak? Bu sorunu çözmek için özel yakalama yapmayan parantezler (?: ) icat edilmiştir - bunlar gruplama yapar, ancak yakalama grubuna koymaz.

Örnek

Aşağıdaki örnekte, ilk parantezler gruplama için, ikinci parantezler ise yakalama grubu için gereklidir. Ancak, her iki parantez türü de verileri yakalama grubuna kaydeder:

<?php $str = 'abab123'; $reg = '#(ab)+([1-9]+)#'; preg_match_all($reg, $str, $res); ?>

Sonuç olarak, yakalama gruplarımızda aşağıdakiler olacaktır:

<?php var_dump($res[0]); // 'abab123' çıktısını verir var_dump($res[1]); // 'ab' çıktısını verir var_dump($res[2]); // '123' çıktısını verir ?>

Örnek

İlk parantez çiftinin sadece gruplama yapmasını, ancak yakalama grubuna koymamasını sağlayalım:

<?php $str = 'abab123'; $reg = '#(?:ab)+([1-9]+)#'; preg_match_all($reg, $str, $res); ?>

Sonuç olarak, ilk yakalama grubunda sayımız olacaktır:

<?php var_dump($res[1]); // '123' çıktısını verir ?>

Pratik Görevler

Rastgele sayıda $@ çifti ile iki parçaya ayrılmış alt dizgiler verilmiştir:

<?php $str = 'aaa$@bbb aaa$@$@bbb aaa$@$@$@bbb'; ?>

Bu tür her bir alt dizgeyi bulun ve her bulunan alt dizge için, ayırıcıdan önce geleni ilk yakalama grubuna, ayırıcıdan sonra geleni ise ikinci yakalama grubuna koyun.

Türkçe
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenЎзбекOʻzbekTiếng Việt
Web sitesinin çalışması, analiz ve kişiselleştirme için çerezleri kullanıyoruz. Veri işleme, Gizlilik Politikası'na uygun olarak gerçekleşir.
tümünü kabul et özelleştir reddet