logo

ПХП функција прег_матцх().

Функција прег_матцх() је уграђена функција ПХП-а која врши подударање регуларног израза. Ова функција тражи образац у стрингу и враћа тачно ако образац постоји, иначе враћа нетачно.

Генерално, претрага почиње од почетка параметра стринга $субјецт. Опциони параметар $оффсет се користи за почетак претраге са наведене позиције.

Синтакса

 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] =&gt; Array ( [0] =&gt; javatpoint [1] =&gt; 0 ) [1] =&gt; Array ( [0] =&gt; java [1] =&gt; 0 ) [2] =&gt; Array ( [0] =&gt; t [1] =&gt; 4 ) [3] =&gt; Array ( [0] =&gt; point [1] =&gt; 5 ) ) 

Можемо видети горњи излаз као што је дато у наставку да бисмо га боље разумели.

 Array ( [0] =&gt; Array ( [0] =&gt; javatpoint [1] =&gt; 0 ) [1] =&gt; Array ( [0] =&gt; java [1] =&gt; 0 ) [2] =&gt; Array ( [0] =&gt; t [1] =&gt; 4 ) [3] =&gt; Array ( [0] =&gt; point [1] =&gt; 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>&apos;; print_r($matches); } else { echo &apos;Pattern not matched in string.&apos;; } ?&gt; 

Излаз:

 Pattern matched in string. Array ( [0] =&gt; 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>&apos;; } else { echo &apos;A match was not found. <br>&apos;; } if (preg_match(&apos;/web/i&apos;, &apos;PHP is a website scripting language.&apos;)) { echo &apos;A match was found.&apos;; } else { echo &apos;A match was not found.&apos;; } ?&gt; 

Излаз:

 A match was found. A match was not found. 

Примери: извадите име домена из УРЛ-а

 

Излаз:

врсте спојева у рдбмс
 Domain name is: javatpoint.com 

Редовни израз (регуларни израз) синтакса

[абц] Поклапа се са једним знаком - а, б или ц
[^абц] Одговара било ком појединачном знаку осим а, б или ц
[а-з] Одговара било ком појединачном знаку у опсегу а-з
[а-зА-З] Било који појединачни знак у опсегу а-з или А-З
^ Почетак линије
$ Крај линије
А Почетак низа
Витх Крај низа
. Било који појединачни знак
с Било који знак размака
С Било који знак који није размак
д Било која цифра
Д Било која нецифра
Ин Било који карактер речи (слово, број, доња црта)
ИН Било који знак који није реч
б Провера граница речи
/?/ Покреће и завршава регуларни израз
(?) Снимите све што је у загради ()
(а|б) а или б
а? Нула или једно од а
а* Нула или више од а
а+ Један или више од а
а{3} Тачно 3 од а
а{3,} 3 или више од а
а{3,6} Између 3. и 6. а
и Провера без обзира на велика и мала слова
м Направите тачку у складу са новим редовима
Икс Занемарите размак у редовном изразу

Објашњавање шаблона '[^[а-зА-З0-9._-] +@[а-зА-З0-9-]+.[а-зА-З.]{2,5}$/]'

    ''/?/''Приказује почетак и крај регуларног израза.'[^[а-зА-З0-9._-]'Поклапа се са свим великим или малим словима, бројевима између 0 и 9, тачком, доњом цртом или цртицама.'+@[а-зА-З0-9-]'Одговара симболу @ иза којег следе велика или мала слова, бројеви између 0 и 9 или цртице.'+.[а-зА-З.]{2,5}$/'Тачка се избегава коришћењем обрнуте косе црте, а затим се подудара са свим малим или великим словима дужине између 2 и 5 на крају низа.