Функција прег_матцх() је уграђена функција ПХП-а која врши подударање регуларног израза. Ова функција тражи образац у стрингу и враћа тачно ако образац постоји, иначе враћа нетачно.
Генерално, претрага почиње од почетка параметра стринга $субјецт. Опциони параметар $оффсет се користи за почетак претраге са наведене позиције.
Синтакса
int preg_match (string $pattern, string $subject, array $matches, int $flags, int $offset)
Напомена: $оффсет је опциони параметар који одређује позицију одакле треба започети претрагу.
Параметерс
Ова функција прихвата пет параметара, који су описани у наставку:
шаблон
То је параметар типа стринг. Овај параметар држи образац за претрагу као стринг.
предмет
Овај параметар садржи улазни низ у којем тражимо образац.
утакмице
Ако је наведен параметар подударања, он ће садржати резултате претраге.
подударања[0] - Задржаће текст који се поклапао са комплетним шаблоном.
утакмице[1] - Садржаће текст који се поклапа са првим ухваћеним подузором у загради и тако даље.
заставе
замена стринга у Јави
Заставе могу имати следеће заставе наведене у наставку:
офсет
Подразумевано, претрага почиње од почетка параметра $субјецт. Параметар офсет се користи за одређивање места где ће претрага почети. То је опциони параметар.
Ретурн Типе
Функција прег_матцх() враћа тачно ако се образац подудара у супротном, враћа нетачно.
Напомена: Ако желите само да проверите да ли је један стринг садржан у другом стрингу, немојте користити функцију прег_матцх(). Користите функцију стрпос() јер ће то бити брже.
Примери
<?php //initialize a variable of string type $site = 'javatpoint'; preg_match('/(java)(t)(point)/', $site, $matches, PREG_OFFSET_CAPTURE); //display the matches result print_r($matches); ?>
Излаз:
Array ( [0] => Array ( [0] => javatpoint [1] => 0 ) [1] => Array ( [0] => java [1] => 0 ) [2] => Array ( [0] => t [1] => 4 ) [3] => Array ( [0] => point [1] => 5 ) )
Можемо видети горњи излаз као што је дато у наставку да бисмо га боље разумели.
Array ( [0] => Array ( [0] => javatpoint [1] => 0 ) [1] => Array ( [0] => java [1] => 0 ) [2] => Array ( [0] => t [1] => 4 ) [3] => Array ( [0] => point [1] => 5 ) )
Примери: претрага без обзира на велика и мала слова
<?php //initialize a variable of string type $website = 'JTP is a best online platform to learn.'; //case insensitive search for word jtp //The 'i' after pattern delimiter indicates case-insensitive search $res = preg_match('/jtp/i', $website, $matches); if ($res) { echo 'Pattern matched in string.</br>'; print_r($matches); } else { echo 'Pattern not matched in string.'; } ?>
Излаз:
Pattern matched in string. Array ( [0] => JTP )
Примери: коришћењем границе речи (б)
<?php /* The indicates the word boundary in the pattern. So, it matches only the distinct word like 'web', and words like 'coreweb' or ' webinar' do not match partially.*/ if (preg_match('/web/i', 'PHP is a web scripting language.')) { echo 'A match was found. </br>'; } else { echo 'A match was not found. <br>'; } if (preg_match('/web/i', 'PHP is a website scripting language.')) { echo 'A match was found.'; } else { echo 'A match was not found.'; } ?>
Излаз:
A match was found. A match was not found.
Примери: извадите име домена из УРЛ-а
Излаз:
врсте спојева у рдбмс
Domain name is: javatpoint.com
Редовни израз (регуларни израз) синтакса
[абц] | Поклапа се са једним знаком - а, б или ц |
[^абц] | Одговара било ком појединачном знаку осим а, б или ц |
[а-з] | Одговара било ком појединачном знаку у опсегу а-з |
[а-зА-З] | Било који појединачни знак у опсегу а-з или А-З |
^ | Почетак линије |
$ | Крај линије |
А | Почетак низа |
Витх | Крај низа |
. | Било који појединачни знак |
с | Било који знак размака |
С | Било који знак који није размак |
д | Било која цифра |
Д | Било која нецифра |
Ин | Било који карактер речи (слово, број, доња црта) |
ИН | Било који знак који није реч |
б | Провера граница речи |
/?/ | Покреће и завршава регуларни израз |
(?) | Снимите све што је у загради () |
(а|б) | а или б |
а? | Нула или једно од а |
а* | Нула или више од а |
а+ | Један или више од а |
а{3} | Тачно 3 од а |
а{3,} | 3 или више од а |
а{3,6} | Између 3. и 6. а |
и | Провера без обзира на велика и мала слова |
м | Направите тачку у складу са новим редовима |
Икс | Занемарите размак у редовном изразу |