PHP RegEx ma’lumotnomasi


ULASHISH

PHP muntazam ifodasi bilan tanishish

Muntazam ifodalar stringlardagi naqshlarni izlash va almashtirish imkonini beradi.


O‘rnatish

PHP muntazam ifoda funksiyalari PHP yadrosining bir qismidir. Ushbu funksiyalardan foydalanish uchun o‘rnatish talab qilinmaydi.


Ish vaqti konfiguratsiyasi

Ushbu php.ini sozlamalari muntazam ifodalarni baholashda foydalaniladigan vaqt yoki resurslarni cheklash uchun ishlatilishi mumkin.

Name Default Tavsif Changeable
pcre.backtrack_limit "1000000" Oddiy ifoda mexanizmi ifodani baholashda bajarishi mumkin bo‘lgan eng ko‘p orqaga qaytish soni. (PHP 5.2 dan beri mavjud) PHP_INI_ALL
pcre.recursion_limit "100000" Oddiy ifoda mexanizmi ifodani baholashda erisha oladigan maksimal rekursiya chuqurligi. (PHP 5.2 dan beri mavjud) PHP_INI_ALL
pcre.jit "1" "1" ga o‘rnatilganda, bu PCRE ning (Perl-Compatible Regular Expressions) o‘z vaqtida kompilyatsiyasini yoqadi. (PHP 7.0 dan beri mavjud) PHP_INI_ALL

PHP Oddiy ifoda funksiyalari

Function Tavsif
preg_filter() Naqsh mosliklari almashtirilgan string yoki massivni qaytaradi, lekin faqat mosliklar topilsa
preg_grep() Faqat namunaga mos keladigan kirish massivining elementlaridan iborat massivni qaytaradi
preg_last_error() Eng so‘nggi oddiy ibora qo‘ng‘irog‘i bajarilmaganining sababini ko‘rsatadigan xato kodini qaytaradi
preg_match() Qatordagi naqshning birinchi mosligini topadi
preg_match_all() Qatordagi naqshning barcha mosliklarini topadi
preg_replace() Berilgan stringdagi naqsh (yoki naqshlar massivi) mosliklari qism string (yoki qism stringlar massivi) bilan almashtirilgan stringni qaytaradi.
preg_replace_callback() Agar ifoda va callback berilgan bo‘lsa, iboraning barcha mosliklari callback orqali qaytarilgan pastki string bilan almashtiriladigan stringni qaytaradi.
preg_replace_callback_array() Callback’lar bilan ifodalarni bog‘lovchi massiv berilgan bo‘lsa, har bir ifodaning barcha mosliklari callback orqali qaytariladigan pastki string bilan almashtiriladigan stringni qaytaradi.
preg_split() Ajratuvchi sifatida muntazam ifoda mosliklaridan foydalanib, stringni massivga ajratadi
preg_quote() Muntazam iboralarda alohida ma’noga ega bo‘lgan belgilar oldiga teskari chiziq qo‘yish orqali qochadi

Muntazam ifoda modifikatorlari

Modifikatorlar qidiruv qanday bajarilishini o‘zgartirishi mumkin.

Modifier Tavsif
i Katta-kichik harflarni farqlamaydigan qidiruvni bajaradi
m Ko‘p qatorli qidiruvni amalga oshiradi (stringning boshi yoki oxirini qidiradigan naqshlar har bir qatorning boshi yoki oxiriga mos keladi)
u UTF-8 kodlangan andozalarning to‘g‘ri moslashtirilishini ta’minlaydi

Muntazam ifoda naqshlari

Qavslar bir qator belgilarni topish uchun ishlatiladi:

Expression Tavsif
[abc] Qavslar orasidagi variantlardan bitta belgi toping
[^abc] Qavslar orasidan EMAS har qanday belgini toping
[0-9] 0 dan 9 gacha bo‘lgan diapazondan bitta belgi toping

Meta belgilar

Metabelgilar - bu alohida ma’noga ega bo‘lgan belgilar:

Metacharacter Tavsif
| | bilan ajratilgan har qanday naqsh uchun moslikni toping kabi: mushuk|it|baliq
. Har qanday belgining faqat bitta misolini toping
^ Quyidagi kabi string boshi sifatida moslikni topadi: ^Salom
$ String oxiridagi moslikni topadi: World$
\d Raqamni topish
\s Bo‘sh joy belgisini topish
\b Quyidagi kabi so‘z boshida moslikni toping: \bWORD yoki shunga o‘xshash so‘z oxirida: WORD\b
\uxxxx Xxxx o‘n oltilik soni bilan belgilangan Unicode belgisini toping

Miqdor ko‘rsatkichlari

Miqdorlar miqdorlarni belgilaydi:

Quantifier Tavsif
n+ Kamida bitta n bo‘lgan har qanday stringga mos keladi
n* n ning nol yoki undan ortiq takrorlanishini o‘z ichiga olgan har qanday stringga mos keladi
n? n ning nol yoki bitta takrorlanishini o‘z ichiga olgan har qanday stringga mos keladi
n{x} X nlar ketma-ketligini o‘z ichiga olgan har qanday stringga mos keladi
n{x,y} X va Y nlar ketma-ketligini o‘z ichiga olgan har qanday stringga mos keladi
n{x,} Kamida X nlar ketma-ketligini o‘z ichiga olgan har qanday stringga mos keladi
Eslatma: Agar ifoda maxsus belgilardan birini qidirishi kerak bo‘lsa, ulardan qochish uchun teskari chiziqdan ( \ ) foydalanishingiz mumkin. Masalan, bir yoki bir nechta savol belgilarini qidirish uchun quyidagi ifodadan foydalanishingiz mumkin: $pattern = '/\?+/';

W3Schools Pathfinder

Yutuqlaringizni kuzating – bu bepul!