⊗ppPmRgGL 229 of 447 menu

PHPda muntazam ifodalarda ochko‘zlikni cheklash

Muntazam ifodalar sukut bo‘yicha ochko‘z. Bu ular maksimal miqdordagi belgilarni qamrab olishini anglatadi.

Keling, buni misol bilan ko‘rib chiqaylik. Faraz qilaylik, bizda quyidagi satr bor:

<?php $str = 'aeeex zzz x kkk'; ?>

Faraz qilaylik, biz ushbu satrda 'aeeex' pastki satrini quyidagi andozaga asosan topishni xohlaymiz: 'a' harfi, keyin bir yoki bir necha marta ixtiyoriy belgi, keyin 'x' harfi.

<?php $res = preg_replace('#a.+x#', '!', $str); ?>

Biz natijada o‘zgaruvchiga '! zzz x kkk' satri yozilishini kutamiz. Biroq, bunday bo‘lmaydi - o‘zgaruvchiga '! kkk' satri kiradi.

Muammo shundaki, bizning muntazam ifoda 'a' harfidan 'x' harfigacha bo‘lgan barcha belgilarni qidiradi. Lekin bizning satrimizda ikkita 'x' harfi bor. Ochko‘zlik tufayli muntazam ifoda oxirgi 'x'gacha qidiradi, shu bilan biz kutgandan boshqasini qamrab oladi.

Albatta, ko‘p hollarda aynan shunday xatti-harakat kerak bo‘ladi. Lekin aynan ushbu holatda biz ochko‘zlikni bekor qilishni va muntazam ifodaga birinchi 'x'gacha qidirishni aytishni xohlaymiz.

Ochko‘zlikni cheklash uchun takrorlash operatoridan keyin so‘roq belgisini qo‘yish kerak:

<?php $res = preg_replace('#a.+?x#', '!', $str); ?>

Ochko‘zlikni barcha takrorlash operatorlari uchun cheklash mumkin, quyidagicha: *?, ?? va {}?.

Berilgan satr:

<?php $str = 'aba accca azzza wwwwa'; ?>

Chettida 'a' harflari turgan barcha satrlarni topadigan va ularning har birini '!' bilan almashtiradigan muntazam ifoda yozing. a harflari orasida ixtiyoriy belgi ('a'dan tashqari) bo‘lishi mumkin.

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