⊗ppPmRgNPB 252 of 447 menu

Tanda Kurung Non-Penangkap dalam Regex PHP

Tanda kurung () memiliki dua fungsi - pengelompokan karakter dan fungsi tangkapan (capturing group). Lalu bagaimana jika kita perlu mengelompokkan, tapi tidak ingin menangkapnya? Untuk menyelesaikan masalah seperti ini, diciptakan khusus tanda kurung non-penangkap (?: ) - mereka mengelompokkan, tetapi tidak menangkap ke dalam grup.

Contoh

Dalam contoh berikut, tanda kurung pertama kita butuhkan untuk pengelompokan, dan yang kedua - untuk ditangkap. Namun, kedua tanda kurung tersebut menyimpan data ke dalam grup tangkapan:

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

Hasilnya, dalam grup tangkapan kita akan berisi berikut:

<?php var_dump($res[0]); // akan menampilkan 'abab123' var_dump($res[1]); // akan menampilkan 'ab' var_dump($res[2]); // akan menampilkan '123' ?>

Contoh

Mari kita buat agar pasangan tanda kurung pertama hanya mengelompokkan, tetapi tidak menangkap ke dalam grup:

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

Hasilnya, di grup tangkapan pertama akan berisi angka kita:

<?php var_dump($res[1]); // akan menampilkan '123' ?>

Tugas Praktis

Diberikan substring, dipisahkan menjadi dua bagian oleh sejumlah pasangan $@ yang sembarang:

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

Temukan setiap substring seperti itu dan untuk setiap substring yang ditemukan, masukkan ke dalam grup tangkapan pertama apa yang ada sebelum pemisah, dan ke dalam grup tangkapan kedua - apa yang ada setelah pemisah.

Indonesia
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекOʻzbekTiếng Việt
Kami menggunakan cookie untuk operasi situs, analitik, dan personalisasi. Pemrosesan data dilakukan sesuai dengan Kebijakan Privasi.
terima semua atur tolak