КомпјутериПрограмирање

Регуларни израз (пхп). Пхп: регуларни изрази примери

Колико је велика и разноврсна свет информација, исто тако брзо, да шири и развија. Било која одлука - само једна тачка у укупном процесу кретања. Знање и искуство омогућавају да разумеју процес постизања циља, али никада - није резултат његових достигнућа. То је вероватно да можемо говорити у блиској будућности на резултат, али је важно да је процес тежи ка томе је значајна и објективно неопходан процес.

"Жеља и / или много новца" не ствара алгоритам који је способан да да, и наравно "слободан" човек ради, поготово када он не мисли о томе шта је радио. У било којој ситуацији је проблем информација има најмање једну слепу, али за њега, обично одмах, други чисти мрље су видљиви, а не нужно да су сви бели цветови.

Интернет технологија је поједностављен приступ информацијама, али питање је - како ставити на томе да се жељени - не поједностављена, а купио нову "обим" рада. И мада ПХП-регуларни израз разлика је јасно не исцрпљује, они су значајан корак напред.

Симпле фунцтионс + алгоритхм = паттерн

Налази регуларне изразе ПХП алгоритам значајно смањује садржај, али је пронашао уобичајене функције претраге / замене и прераду алгоритми нису изгубили значај. Нове идеје не наговјештава информационе револуције. Највише што се може очекивати - компактан број и повећати програмер могућност да исправно формулише упит за претраживање.

Требало би да знате и примењују у ПХП регуларних израза. Примери убедљива и ефикасна. Али треба дати извештај који са појавом новог претраживача, центар гравитације померио на обрасцу - нека врста механизма, иако је у ствари замењује скуп једноставних претраживача функција, услови, петље, и других оператера.

има:

  • квалитет и модеран алат - то је добро;
  • види и користити искуства колега је ствар;
  • комбинујући реалност и виртуелну идеју - гаранција успеха.

Постизање сазнања о томе како је било неопходно да се разуме проблем, да га реши, то је често важније од конкретног резултата.

Регуларне изразе у ПХП су представљени од стране једног броја функција на језику синтакси и доста корисних примера на Интернету. Због синтаксе специфична опције апликације су ограничене само маштом програмера, али слеует имајте на уму да неће сви шаблони раде. Користећи ПХП валидацију регуларних израза је од суштинске важности.

Једноставна претрага карактера (низ)

Симбол - то није увек једнобајтни, а често је симбол, као чипу, има прецизно значење поред. Кодирање прецизира видљиве знакове у коду другачије. Симбол може имати неколико опција: "$" = "УСД" = "УСД", ... - је тачно значење тог негде нешто, али не нужно близу, због валуте. Међутим, тачно значење може лежати у променљивом ПХП, који увек почиње са карактером "$", али не може да почне са "долара" и "долара".

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

Потражите карактера / лине - није тако једноставна вежба, а додатне информације, што је јаснија боље. Није увек неопходно наћи десет најбољих цена хране, изаберите вкусние рецепти рођенданску торту, или да одреди извођача радова за спуштени плафон.

Често је потребно за оптимизацију су једноставни алгоритми нису једноставни аритметика информације или у тешким условима, када је жељени знак да бирају из базе података, као и линије у којој је потребно да се пронађу - стотину локација. Цијена је једнака за одабир знака од времена базе података узорак, и цену где да тражи - Тиме претрагу Ноториоус стотине сајтова.

Усамљени симбол - то није фраза, а не само неколико реченица, могао би бити било где и бити мали по жељи. Како одредити шта је пронађено се жељена?

Пример: претрага за цену

Само да пронађу "$" симбол тект - мало. Проверите да се суочава велики број, то није увек довољно. Ако сте дали тачку или број испред симбола "$" је гаранција да су цене по којима су монетарне симболи напред неће бити узети у обзир. Ту су и изоставио цену, која уопште није наведен валуту, али на страници је на експлицитним инструкцијама.

У принципу, решење проблема на уобичајени начин надувавају изван алгоритам за препознавање и дуготрајан. У међувремену, користећи регуларни израз, број ПХП наћи никаквих проблема.

$ ЦЦонтентс = прег_матцх_алл ( "/ [0-9] * ([\ $] | УСД | И \ £ \ | УЕ) {1} / И.";

"Погледајте е-маил - 2усд; <бр/>";
"Пронађи е-маил - 2у.е; <бр/>.";
"Рад Е-маил - УЕ2; <бр/>";
"Проверите е-маил - $ 13", $ аРесулт);
. '; '. имплоде ( ',', $ аРесулт [0]). "<бр/> '.

Ће одговорити: "2; 2усд, 2у.е.", али нису нашли ништа у реду: "цхецк Е-маил - $ 13."

Обезбеђивање за присуство узорак испред или иза карактера, можете постићи успех брзо у већини случајева.

$ ЦЦонтентс = прег_матцх_алл ( "/ ([0-9] * ([\ $] | УСД | И \ £ \ |. Уе) {1}) | (([$] | УСД | И \ £ \. | уе) {1} [0-9] +) / и ";
"Погледајте е-маил - 2усд; <бр/>";
"Пронађи е-маил - 2у.е; <бр/>.";
"Рад Е-маил - УЕ2; <бр/>";
"Проверите е-маил - $ 13", $ аРесулт);
. '; '. имплоде ( ',', $ аРесулт [0]). "<бр/> '.

Резултат: "4; 2усд, 2у.е., УЕ2, $ 13."

О нежељене логике

Регуларне изразе ПХП понуде, као и друга средства, али није потребно да их примењују у складу са својим правилима или користите друге функције предвиђене малим словима синтаксу начин.

Могуће прије почетка претреса потребно да се окрене низу, и места где смо поиска, оборио на компоненте у складу са претходним критеријумима. Само неколико експлодира () и имплодирао () често поједностављује и убрзава одлуку.

На пример, као резултат претходног рада формирала је низ жицама (подаци) у округу од тога колико кромпира прикупљених свако село: Ункновн ИмиаДеревниа и обима прикупљених, а ако та земља ради неколико компанија у низ жица је ИмиаДеревниа.ИмиаПредприиатие и вредност кроз "; " и тако на свим предузећима. Израчунајте укупан износ прикупљених у овом случају неће бити могуће, али ако имподе ( ";", $ аРесулт), ће бити једна дуга линија, у којем је пар - ИмиаДеревниа / ИмиаДеревниа.ИмиаПредприиатие - колекција величине - неће бити пребачен преко ";". Да ли је обрнуто на резултат, експлодирати ( ";", $ аРесулт) - низ од свега, ко прикупљају и како се прикупљају, а затим уклањањем линије из свих не-нумеричких знакова, имамо само бројеве, збир од којих је укупан обим прикупљени.

У овом примеру, регуларни израз у ПХП омогућавају да не изгледају превише, они су лако приступачне и екстракт жељене нумеричке вредности. Брзо и ефикасно, без обзира колико то може бити имена села и предузећа. Ово решење није идеално, али то показује да се не држе увек правила би требало да буде. Често је могуће да се постигне жељени на необичан начин.

Апстрактно са техничке стране, кодирање

Синтакса алгоритма не каже како то изгледа у стварности. Међутим, пружајући исти кодирање странице, и редови скрипта (што се тражи у којем су слике) могу уронити у проблем је његове техничке аспекте.

Не сме се само зна шта да траже, али где то урадити, када, колико, шта да се мења и како. Формално ПХП регуларне изразе погубљени као комплетан потпуно опремљеног механизам за себе, али из много разлога, реализација његових колега у многим језицима другачије. Као опште правило, пре него што пређете одређену образац у одређеном алата окружења за одређени задатак, потребно је извршити квалитетну адаптацију, провери свих могућих опција за изворне податке.

Чак и ако користите свој искуство у развоју у ПХП, регуларним изразима, примери, шаблони и дизајн захтева пажљиво проверу. Динамички мења функционалност језика, синтаксу и рунтиме.

Структура и садржај шаблона

Оно што је претходно написано у виду комбинације за претрагу функција, уређаја, замјене операције, уметање, брисање, је низ знакова у складу са одређеним правилима - регуларног израза обрасцу. У ствари, значајна количина кодирана на одређени начин и извршава посебним правилима.

Као што је немогуће урадити било оператора отклањање грешака језика, не можете дебуг регуларни израз образац, овај процес може само имитирати. Као опште правило је усвојила верзија: радови - не ради. Синтакса је веома једноставна, али његов перцепције, посебно у почетку, веома је тешко.

Пример једноставног изражавања

У једноставном решењу, предложак одговара стринг:

$ ЦЦонтентс = прег_матцх ( "/ асдф / И", "асдф", $ аРесулт). '; '. имплодирао ( ',', $ аРесулт).

Резултат ће бити "1; асдф", пошто је функција заврши свој рад у прва срео одговарајући шаблон. Резултат ће бити исти, ако погледамо ред "аааасдф" у складу "зззасдфввв". Ако одредите први и / или задњег карактера, резултат би био јасан:

$ ЦЦонтентс = прег_матцх ( "/ ^ асдф / И", "асдф", $ аРесулт). '; '. имплодирао ( ',', $ аРесулт). '<бр/>';
$ ЦЦонтентс. = прег_матцх ( "/ асдф $ /", "асдф", $ аРесулт). '; '. имплодирао ( ',', $ аРесулт). "<бр/> '.

Резултат ће бити: 1; асдф1; асдф.

Симболи "*" и "$" указује одакле да почнем и завршава образац. Довести прег_матцх функцију - број утакмица, то може бити 0, 1, или лажна, ако се открије грешка. Трећа опција - низ - постављена само нашао елемент. У случају коришћења функције прег_матцх_алл () потрага се наставља на чеоној линији.

$ ЦЦонтентс = прег_матцх ( "/ асдф / И", "асдф123асдф456асдф789", $ аРесулт). '; '. имплодирао ( ',', $ аРесулт). '<бр/>';
$ ЦЦонтентс. = прег_матцх_алл ( "/ асдф / И", "асдф123асдф456асдф789", $ аРесулт). '; '. имплоде ( ',', $ аРесулт [0]). "<бр/> '.

резултат:

1; асдф
3; асдф, асдф, асдф.

Ако не користите специјалне инструкције, сваки знак себе и своје место дефинише, без обзира на линије кодирања и шаблона кодирања. Програмер мора осигурати да кодирање тих елемената била тачна у односу на сваку другу и кодирања странице.

ПХП функције за рад са регуларним изразима

Регуларни изрази за ПХП представљају низ карактера снимљени на одређени начин. Обично, по аналогији са другим програмским језицима, они су писани у симболима "/" ... "/" и стављен под наводницима, можете користити један или два у зависности од алгоритма.

Главна функција пхп прег Спаривање регуларних израза користи и паттерн матцх и зауставља га на првој локацији, њену варијанту са суфиксом _Алл проналази све утакмице, и излаза његову низ. Функција прег заменити замењује свако одговара шаблон, то може да ради са низовима, што омогућава претраживање дизајн и врши замену различитих опција.

Занимљиви опције за рад са регуларним изразима се могу развити коришћењем прег_реплаце_цаллбацк функцију која не узима у замену текста, као и име функције, које ће обављати такав замену. Поред практичног вредности можете имплементирати механизме провери образац, да је развој и отклањање грешака у последња игра значајну улогу.

Обим регуларним изразима

Пошто хипертекст језици су формализовани информације у већој мери су почетни материјал. Развијен је велики број образаца и дизајна који омогућавају да ефикасно обради велике количине података. Значајан део овог посла обавља механизме уграђене у различите системе за управљање садржајем (ЦМС).

Није изненађујуће, многи Ресултс ЦМС постао де фацто стандард за градилишта, и бити у пратњи (упдатед) софтверских компанија, нису се да је неопходно да се спроведе развој образаца по себи. Међутим, изван таквих система има искуства са регуларним изразима је веома користан.

Регуларни изрази и праве информације

Важна област примене регуларних израза у ПХП библиотекама формирана појаве ПХПОффице. Рад са документима, табелама, и да је увек имао важно и ООКСМЛ стандард је могуће не само да демонтира стварне документе, али и да обликују свој програм.

Захваљујући развоју хипертекстуалне и ПХП језика посебно, постоји реална могућност да се аутоматизује "производњу" докумената "стандардном облику", на пример, рачуни за плаћање, извештаји, бизнис планови, и других информационих објеката, структура и садржај заправо подложни Формализација и аутоматизација.

У вези са применом да опише процес развоја језика ООКСМЛ регуларних израза је сасвим другачији од традиционалног рада са означавања језика ХТМЛ и ЦСС на првом месту. Стварни документ, осим ознака и поред стварног садржаја има много детаља. На пример, документ који је аутоматски креирао програм, имаће снажан и прецизан садржај. Документ формира или лице које третира, ће имати садржај, је насликао преко мноштво тагова. Сваки рад са документом доводи до тога да се семантика може бити један, али насликао у различитим количинама на различитим дизајном.

Природни информације и ситуација

Лице увек заинтересовани за решавање проблема, који је организовало информације и, као резултат тога, иста информација ће се дати. Представљајући извештај проблема у облику документа, особа добија конкретне семантику, који је у спецификацији стручњака (амандман, рашчишћавање текста, брисање, измена) не само доводи до више верзија једног документа, али и својим верзијама са различитим садржајем.

Конкретно, задатак који изразом "Решите квадратних уранение" након монтаже ће изгледати овако: ". За реси квадратна једначина" Ако на почетку првог грешка је исправљена, а затим други, онда је природно информације у ООКСМЛ стилу може изгледати овако: "[решено] [] [квадрат] [е] [] [цхеерс], [б] [нение]", али то не гарантује да је то задатак ће се појавити у ознакама ООКСМЛ (заграде опонашају заграде ознаке).

Саставити информације могу бити лако после сваког задатка монтажи, али сваки пут се овај поступак ће бити изведена разним алгоритмима. Регуларни изрази, као неку врсту алата формализације проблема информационих су постали, у ствари, пјешачке стазе од формалних структура хипертексту природном информацијама.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

Copyright © 2018 sr.birmiss.com. Theme powered by WordPress.