⊗ppPmRgNPB 252 of 447 menu

PHP regular ifodalarida saqlamaydigan qavslar

Qavslar () ikkita funkciyani bajaradi - belgilarni guruhlash va "karman" funkciyasi. Ammo agar biz guruhlash kerak, lekin karmanga saqlamasak nima qilish kerak? Bunday muammoni hal qilish uchun maxsus saqlamaydigan qavslar (?: ) yaratilgan - ular guruhlaydi, lekin karmanga saqlamaydi.

Misol

Quyidagi misolda birinchi qavslar bizga guruhlash uchun kerak, ikkinchilari esa karman uchun. Biroq, ikkala qavs ham ma'lumotlarni karmanga saqlaydi:

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

Natijada bizning karmanlarimizda quyidagilar bo'ladi:

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

Misol

Keling, birinchi qavs juftligi faqat guruhlash uchun ishlatiladi, lekin karmanga saqlamasin:

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

Natijada birinchi karmanda bizning raqamimiz bo'ladi:

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

Amaliy vazifalar

Berilgan pastki satrlar, ikkita qismga bo'lingan ixtiyoriy miqdordagi $@ juftliklari bilan ajratilgan:

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

Har bir shunday pastki satrni toping va har bir topilgan pastki satr uchun birinchi karmanga ajratgichdan oldin turgan narsani, ikkinchi karmanga esa - ajratgichdan keyin turgan narsani qo'ying.

Oʻzbek
AfrikaansAzərbaycanБългарскиবাংলাБеларускаяČeštinaDanskDeutschΕλληνικάEnglishEspañolEestiSuomiFrançaisहिन्दीMagyarՀայերենIndonesiaItaliano日本語ქართულიҚазақ한국어КыргызчаLietuviųLatviešuМакедонскиMelayuမြန်မာNederlandsNorskPolskiPortuguêsRomânăРусскийසිංහලSlovenčinaSlovenščinaShqipСрпскиSrpskiSvenskaKiswahiliТоҷикӣไทยTürkmenTürkçeЎзбекTiếng Việt
Biz sayt ishlashi, tahlil qilish va shaxsiylashtirish uchun cookie-fayllardan foydalanamiz. Ma'lumotlarni qayta ishlash Maxfiylik siyosatiga muvofiq amalga oshiriladi.
hammasini qabul qilish sozlash rad etish