PHP RegEx (muntazam ifodalar)


ULASHISH

PHP muntazam ifodalari

Muntazam ibora qidiruv sxemasini tashkil etuvchi belgilar ketma-ketligidir. Matndagi ma’lumotlarni qidirganingizda, siz qidirayotgan narsani tasvirlash uchun ushbu qidiruv namunasidan foydalanishingiz mumkin.

Muntazam ifoda bitta belgi yoki murakkabroq naqsh bo‘lishi mumkin.

Oddiy iboralar matnni qidirish va matnni almashtirish operatsiyalarining barcha turlarini bajarish uchun ishlatilishi mumkin.


Oddiy ifoda sintaksisi

PHPda muntazam ifodalar chegaralovchilar, naqsh va ixtiyoriy modifikatorlardan tashkil topgan stringlardir.

Sintaksis

"/pattern/modifiers"
  • chegaralovchilar - naqshni qamrab oluvchi belgilar (masalan, / )
  • naqsh - izlash uchun belgilar ketma-ketligi
  • modifikatorlar - qidiruv qanday amalga oshirilganligi (masalan, i a katta-kichik harflarsiz qidiruv)

Quyidagi muntazam ifodaga qarang:

$exp = "/w3schools/i";

Bu yerda, / ajratuvchi, w3schools izlash uchun naqsh va i qidiruvni katta-kichik harflarga sezgir qilmaydigan modifikatordir.

Ajratuvchi harf, raqam, teskari chiziq yoki bo‘sh joy bo‘lmagan har qanday belgi bo‘lishi mumkin. Eng keng tarqalgan ajratuvchi to‘g‘ridan-to‘g‘ri chiziq (/), lekin naqshingizda oldinga qiyshiq chiziq mavjud bo‘lsa, # yoki ~ kabi boshqa cheklovchilarni tanlash qulay.



Muntazam ifoda modifikatorlari

Modifikatorlar qidiruv qanday amalga oshirilishini belgilaydi.

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

Muntazam ifoda naqshlari

Qavslar bir qator belgilarni topish uchun ishlatiladi:

Expression Tavsif Try it
[abc] Qavslar ichidagi bir yoki bir nechta belgilarni toping Try it »
[^abc] Qavslar orasidan EMAS har qanday belgini toping Try it »
[a-z] Find any character alphabetically between two letters Try it »
[A-z] Belgilangan katta harf va belgilangan kichik harf o‘rtasida alifbo tartibida istalgan belgini toping Try it »
[A-Z] Ikki bosh harf orasidan alifbo tartibida istalgan belgini toping. Try it »
[123] Qavslar ichidagi bir yoki bir nechta raqamlarni toping Try it »
[0-5] Ikki raqam orasidagi istalgan raqamni toping Try it »
[0-9] Find any digits Try it »

Meta belgilar

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

Metacharacter Tavsif Try it
| | bilan ajratilgan har qanday naqsh uchun moslikni toping kabi: mushuk|it|baliq Try it »
. Find any character Try it »
^ Quyidagi kabi string boshi sifatida moslikni topadi: ^Salom Try it »
$ String oxiridagi moslikni topadi: World$ Try it »
\d Find any digits Try it »
\D Find any non-digits Try it »
\s Find any whitespace character Try it »
\S Find any non-whitespace character Try it »
\w Har qanday alifbo harfini (a dan Z gacha) va raqamni (0 dan 9 gacha) toping. Try it »
\W Har qanday alifbo va raqam bo‘lmagan belgilarni toping Try it »
\b Quyidagi kabi so‘z boshida moslikni toping: \bWORD yoki shunga o‘xshash so‘z oxirida: WORD\b Try it »
\uxxxx Xxxx o‘n oltilik soni bilan belgilangan Unicode belgisini toping Try it »

Miqdor ko‘rsatkichlari

Miqdorlar miqdorlarni belgilaydi:

Quantifier Tavsif Try it
n+ Kamida bitta n bo‘lgan har qanday stringga mos keladi Try it »
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{3} 3 n ketma-ketligini o‘z ichiga olgan har qanday stringga mos keladi Try it »
n{2, 5} Kamida 2 ta ketma-ketlikni o‘z ichiga olgan har qanday stringga mos keladi, lekin ko‘p emas bu 5 n Try it »
n{3,} Kamida 3 ta ndan iborat ketma-ketlikni o‘z ichiga olgan har qanday stringga mos keladi Try it »
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!