Регуларни израз је одређени образац који се може користити за упаривање, претраживање и замену било ког одређеног низа у текстуалним подацима. То је моћна карактеристика било ког програмског језика. Углавном се користи за обављање различитих врста валидације обрасца, као што је потврђивање е -поште, провера формата телефона, потврђивање поља за корисничко име и лозинку обрасца за пријављивање итд. Било који одређени садржај текста може се претраживати и заменити помоћу регуларног израза шаблон. Такође се назива регек или РегЕкп. За дефинисање шаблона регуларног израза користе се различити типови симбола.
Многе уграђене функције постоје у ПХП-у за регуларни израз. функција прег_матцх () је једна од њих. Ова функција се користи за усклађивање одређеног узорка у низу података. Како се функција прег_матцх () може користити у ПХП -у за извршавање различитих задатака објашњено је у овом водичу.
Синтакса:
Инт орлажно прег_матцх (низ$ образац,низ$ субјецт [, арраи &$ утакмица = нула [,инт$ заставице = 0 [,инт$ оффсет = 0]]])Ова функција може узети пет аргумената. Први аргумент, $ образац , је обавезан, који дефинише образац за упаривање. Други аргумент, $ субјецт , је обавезна и садржи низ података у којима ће се образац примијенити. Трећи аргумент, $ утакмица , није обавезан и враћа низ заснован на подударању. Четврти аргумент, $ заставице , није обавезно и садржи различите врсте вредности заставице на основу подударања. Пети аргумент, $ оффсет , није обавезан и може се користити за дефинисање почетне позиције претраживања.
Пример 1: Ускладите образац на велика и мала слова и на мала и велика слова
Следећи пример приказује употребу функције прег_матцх () за упаривање низа на велика и мала слова и на мала и велика слова. Направите ПХП датотеку са следећом скриптом.
Овде се користе три обрасца за примену у три функције прег_матцх (). Први образац, '/Као/', користи се за усклађивање низа на велика и мала слова. Други образац, '/као/' , користи се за усклађивање низа на велика и мала слова. Трећи образац, 'Лике/и' , користи се за подударање низа на начин који не разликује велика и мала слова. сеарцх_паттерн () функција је у скрипти дефинисана тако да користи функцију прег_матцх () за подударање, и штампа поруку на основу враћене вредности ове функције.
// Дефинишите текст
$ тект = 'Свиђа ми се ПХП. Свиђа ми се и ЈаваСцрипт. ';
// Дефинишите три врсте шаблона
$ паттерн1 = '/Као/';
$ паттерн2 = '/као/';
$ паттерн3 = '/Лике/и';
// Дефинишите функцију претраживања узорка у тексту
функцијасеарцх_паттерн($ образац, $ стринг)
{
ако( прег_матцх ($ образац, $ стринг))
Избацио 'Резултат претраге: Пронађено је подударање за образац -$ образац
';
елсе
Избацио 'Резултат претраге: Подударање за образац није пронађено -$ образац
';
}
// Штампа оригинални текст
Избацио „Оригинални текст је: $ тект
';
// Позовите функцију три пута за три обрасца
сеарцх_паттерн($ паттерн1, $ тект);
сеарцх_паттерн($ паттерн2, $ тект);
сеарцх_паттерн($ паттерн3, $ тект);
?>
Оутпут :
Следећи излаз ће се појавити након покретања скрипте са сервера. Први ред приказује текст у коме су тражени обрасци. Други ред приказује излаз првог узорка. Трећи ред приказује излаз другог узорка. Четврти ред приказује излаз трећег узорка.
Пример 2: Потврдите УРЛ
Следећи пример приказује начин провере УРЛ адресе помоћу функције прег_матцх (). Направите ПХП датотеку са следећом скриптом.
Вредност УРЛ -а је додељена променљивој $ урл за тестирање. Низ „@^(?: Хттпс: //)? ([^/]+) @И“ користи се као образац у функцији прег_матцх () за проверу да ли је УРЛ адреса важећа или не. Ако је важеће, тада ће се одштампати име хоста и назив домена, у супротном ће се одштампати порука о грешци.
// Дефинишите УРЛ
$ урл = „хттпс://ввв.линукхинт.цом“;
// Дефинишите образац за проверу УРЛ -а
$ образац ='@^(?: хттпс: //)? ([^/]+) @и';
// Проверите да ли је УРЛ тачан или не
ако( прег_матцх ($ образац, $ урл, $ утакмица1))
{
// Одштампајте поруку о успеху
Избацио „УРЛ је важећи.
';
// Штампа низ који садржи вредности подударања
Избацио 'Вредности низа су:';
принт_р ($ утакмица1);
// Дохваћање и штампање вредности хоста
$ хост = $ утакмица1[1];
Избацио '
Име домаћина је:$ хост';
// Претражите име домена према вредности хоста
прег_матцх ('/[^.-лек.еуропа.еу+.[^.ириту+$/', $ хост, $ утакмица2);
Избацио '
Име домена је:{$ матцх2 [0]}';
}
елсе
{
// Одштампај поруку о грешци
Избацио 'Неважећи УРЛ.';
}
?>
Оутпут :
Следећи излаз ће се појавити након покретања скрипте са сервера. Наведена УРЛ адреса у скрипти је важећа. Дакле, излаз приказује вредности подударања $, назив хоста УРЛ -а и назив домена УРЛ -а.
Пример 3: Образац претраживања са вредностима заставице и помака
Следећи пример приказује употребу ознака и вредности помака у функцији прег_матцх (). Направите ПХП датотеку са следећом скриптом.
У сценарију се користе три обрасца за три врсте подударања. У првој функцији прег_матцх (), '/(бангла) (десх)/' се користи као образац и вредност заставице, користи се ПРЕГ_ОФФСЕТ_ЦАПТУРЕ. Вредности $ утакмица променљива ће се штампати на основу резултата прве функције прег_матцх (). У другој функцији прег_матцх (), '/(бангла) (драго)*(десх)/и', користи се као образац и вредност заставице, користи се ПРЕГ_УНМАТЦХЕД_АС_НУЛЛ. Ако се било који део узорка не подудара, вредност НУЛЛ ће бити ускладиштена у низу. Вредности $ утакмица променљива ће се штампати на основу резултата друге функције прег_матцх (). У трећој функцији прег_матцх (), '/глад/' се користи као образац, користи се вредност заставице, ПРЕГ_ОФФСЕТ_ЦАПТУРЕ и 3 се користи као вредност помака. Вредности $ утакмица променљива ће се штампати на основу резултата треће функције прег_матцх ().
// Дефинишите вредност текста
$ тект = „Бангладеш“;
// Дефинишите три типа образаца
$ паттерн1 = ' / (бангла) (десх) / и';
$ паттерн2 = ' / (бангла) (драго) * (десх) / и';
$ паттерн3 = '/драго/';
// Коришћење заставице ПРЕГ_ОФФСЕТ_ЦАПТУРЕ
прег_матцх ($ паттерн1, $ тект, $ утакмица,ПРЕГ_ОФФСЕТ_ЦАПТУРЕ);
Избацио '
';
print_r ($matches);
echo '
';
// Коришћење заставице ПРЕГ_УНМАТЦХЕД_АС_НУЛЛ
прег_матцх ($ паттерн2, $ тект, $ утакмица,ПРЕГ_УНМАТЦХЕД_АС_НУЛЛ);
Избацио '
';
print_r ($matches);
echo '
';
// Коришћење заставице ПРЕГ_ОФФСЕТ_ЦАПТУРЕ и вредности помака
прег_матцх ($ паттерн3, $ тект, $ утакмица,ПРЕГ_ОФФСЕТ_ЦАПТУРЕ, 3);
Избацио '
';
print_r ($matches);
echo '';
?>
Оутпут :
Следећи излаз ће се појавити након покретања скрипте са сервера.
Закључак
Употреба функције прег_матцх () објашњена је у овом водичу користећи више примера. Овде су такође приказане употребе различитих аргумената ове функције. Читаоци ће моћи да правилно користе ову функцију у свом скрипту након читања овог водича.