Funktsiya preg_match
Funktsiya preg_match satrda muntazam ifoda bilan mosliklarni qidiradi. Birinchi parametr sifatida muntazam ifoda shabonini, ikkinchi parametr sifatida qidiruv uchun satrni, uchinchi (ixtiyoriy) parametr sifatida topilgan mosliklarni saqlash uchun massivni, to‘rtinchi (ixtiyoriy) parametr sifatida bayroqlarni, beshinchi (ixtiyoriy) parametr sifatida qidiruv boshlanish siljishini qabul qiladi.
Sintaksis
preg_match(pattern, subject, [matches], [flags], [offset]);
Bayroqlar
| Bayroq | Konstanta | Tavsif |
|---|---|---|
PREG_PATTERN_ORDER |
1 | Natijalar shabonlar bo‘yicha tartiblanadi (standart) |
PREG_SET_ORDER |
2 | Natijalar moslik to‘plamlari bo‘yicha tartiblanadi |
PREG_OFFSET_CAPTURE |
256 | Satrdagi moslik o‘rnini qaytaradi |
PREG_UNMATCHED_AS_NULL |
512 | Mos kelmagan kichik shabonlar NULL sifatida qaytariladi |
Misol
Satr raqamlarni o‘z ichiga oladimi yoki yo‘qligini tekshiramiz:
<?php
$res = preg_match('/\d+/', 'abc123');
echo $res;
?>
Kodni bajarish natijasi:
1
Misol
Satrdan barcha raqamlarni massivga ajratib olamiz:
<?php
preg_match('/\d+/', 'abc123', $matches);
var_dump($matches);
?>
Kodni bajarish natijasi:
[0 => '123']
Misol
Muntazam ifodada nomlangan guruhlardan foydalanish:
<?php
preg_match('/(?P<name>\w+)\s+(?P<age>\d+)/', 'John 25', $matches);
var_dump($matches);
?>
Kodni bajarish natijasi:
[
0 => 'John 25',
'name' => 'John',
1 => 'John',
'age' => '25',
2 => '25'
]
Misol
Moslik o‘rnini olish uchun PREG_OFFSET_CAPTURE bayrog‘idan foydalanish:
<?php
preg_match('/\d+/', 'abc123', $matches, PREG_OFFSET_CAPTURE);
var_dump($matches);
?>
Kodni bajarish natijasi:
[
0 => [
0 => '123',
1 => 3
]
]
Misol
Siljish (offset) ko‘rsatilgan holda qidiruv:
<?php
preg_match('/\d+/', '123abc456', $matches, 0, 3);
var_dump($matches);
?>
Kodni bajarish natijasi:
[0 => '456']
Misol
Email manzilining to‘g‘riligini tekshirish:
<?php
$email = 'test@example.com';
$res = preg_match('/^[a-zA-Z0-9._%+-]+@[a-zA-Z0-9.-]+\.[a-zA-Z]{2,}$/', $email);
echo $res ? 'Valid' : 'Invalid';
?>
Kodni bajarish natijasi:
'Valid'
Shuningdek qarang
-
preg_match_allfunktsiyasini,
bu satrdagi barcha mosliklarni qidiradi -
preg_replacefunktsiyasini,
bu muntazam ifoda bo‘yicha almashtirishni bajaradi