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

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

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

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

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

Едноставни функции + алгоритам = модел

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

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

имаат:

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

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

Регуларни изрази во PHP се претставени од страна на голем број на функции во синтаксата на јазикот и многу корисни примери на интернет. Поради синтакса специфични опции примена се ограничени само од имагинацијата на инвеститорот, но sleuet имајте на ум дека не сите на шаблони ќе работат. Со користење на PHP валидација на регуларни изрази е од суштинско значење.

Едноставно пребарување карактер (стринг)

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

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

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

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

Lone симбол - тоа не е фраза, а не неколку реченици, тој може да биде било каде и да биде како мали како сакате. Како да се утврди она што беше пронајден е саканиот?

Пример: пребарување за цени

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

Општо земено, за решавање на проблемот на вообичаен начин се надува надвор алгоритам признавање и одземаат многу време. Во меѓувреме, со користење на регуларни изрази, бројот на PHP ќе најдете нема проблеми.

$ CContents = preg_match_all ( "/ [0-9] + ([\ $] | usd | y \ £ \ | UE) {1} / i.";

"Гледај e-mail - 2usd;
";
"Најди ги e-mail - 2u.e;
.";
"Работата е-пошта - ue2;
";
"Проверете e-mail - $ 13", $ aResult);
. '; ". спуквам ( ',', $ aResult [0]). "
.

Ќе одговори: "2; 2usd, 2u.e.", но не најде ништо во линија: "проверите e-mail - $ 13."

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

$ CContents = preg_match_all ( "/ ([0-9] + ([\ $] | usd | y \ £ \ |. UE) {1}) | (([$] | usd | y \ £ \. | UE) {1} [0-9] +) / i ";
"Гледај e-mail - 2usd;
";
"Најди ги e-mail - 2u.e;
.";
"Работата е-пошта - ue2;
";
"Проверете e-mail - $ 13", $ aResult);
. '; ". спуквам ( ',', $ aResult [0]). "
.

Резултатот е: "4; 2usd, 2u.e., ue2, $ 13."

За ненамерни логика

PHP регуларни изрази понуди, како и други алатки, но тоа не е неопходно да се однесуваат според своите правила или да користите други функции предвидени мали синтакса начин.

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

На пример, како резултат на претходната работа формира низа од стрингови (податоци) во областа на колку компири собрани секое село: Непознато ImyaDerevnya и обемот собрани, и ако земјата ќе трае неколку компании во низа од стрингови е ImyaDerevnya.ImyaPredpriyatie и вредност преку "; " и така на сите претпријатија. Пресмета вкупниот износ собрани во овој случај нема да биде можно, но ако impode направи ( ";", $ aResult), ќе биде една долга линија, во која пар - ImyaDerevnya / ImyaDerevnya.ImyaPredpriyatie - збирка на големина - ќе бидат префрлени преку ";". Дали обратна на добиеното, експлодираат ( ";", $ aResult) - низа на сите, кои собираат и како таа се собира, а потоа со отстранување на линии од сите не-нумерички карактери, имаме само броеви, чиј збир е вкупен волумен собрани.

Во овој пример, на регуларниот израз во PHP не дозволуваат да се погледне премногу, тие се лесни и достапни екстракт саканата нумерички вредности. Брзо и ефикасно, без разлика колку долго тоа може да биде имињата на селата и бизниси. Ова решение не е идеална, но тоа покажува дека не секогаш ги следат правилата треба да биде. Тоа често е можно да се постигне саканиот на необичен начин.

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

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

Еден мора да се знае не само што да барате, но каде да го направи тоа, кога, колку, што да се промени и како. Формално Php регуларни изрази погубен како заврши целосно опремен механизам на сопствената, но за многу причини, реализација на своите колеги во многу различни јазици. Како општо правило, пред да се движат на одредена шема, во одредена алатка средина за одредена задача, потребно е да ги извршуваат високо-квалитетни адаптација, проверете за сите можни опции за податоци на изворот.

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

Структурата и содржината на образецот

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

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

Еден пример на едноставен израз

Во едноставен отелотворување, шаблонот се совпаѓа со стринг:

$ CContents = preg_match ( "/ asdf / i", "asdf", $ aResult). '; ". имплодира ( '', $ aResult).

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

$ CContents = preg_match ( "/ ^ asdf / i", "asdf", $ aResult). '; ". имплодира ( '', $ aResult). '
';
$ CContents. = Preg_match ( "/ asdf $ /", "asdf", $ aResult). '; ". имплодира ( '', $ aResult). "
.

Резултатот ќе биде: 1; asdf1; asdf.

Симболите "*" и "$" покажува каде да почнам и завршува шема. Резултат функцијата preg_match - бројот на натпревари, тоа може да биде 0, 1, или лажни, ако се наиде на грешка. Третата опција - низа - поставен најде само елемент. Во случај на користење на preg_match_all () функцијата за пребарување продолжува до крајот линија.

$ CContents = preg_match ( "/ asdf / i", "asdf123asdf456asdf789", $ aResult). '; ". имплодира ( '', $ aResult). '
';
$ CContents. = Preg_match_all ( "/ asdf / i", "asdf123asdf456asdf789", $ aResult). '; ". спуквам ( ',', $ aResult [0]). "
.

резултатот е:

1; asdf
3; asdf, asdf, asdf.

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

PHP функции за работа со регуларни изрази

PHP регуларни изрази за да претставува низа од знаци евидентирани во одреден начин. Обично, по аналогија со други програмски јазици, тие се напишани на симболите "/" ... "/" и се става во наводници, можете да го користите еден или два во зависност од алгоритам.

Главната функција PHP preg натпревар регуларни изрази користи и модел натпревар и го запира на првата локација, негова варијанта со суфикс _all наоѓа сите натпревари, и излези на низата од него. Функција preg замени заменува секој натпревар дефиниција, тој може да работи со низи, дозволувајќи им на дизајн за пребарување и да врши замена на различни опции.

Интересни опции за работа со регуларни изрази може да се развива со помош preg_replace_callback функција која зема не замена на текст, и името на функцијата, со што ќе се изврши таква замена. Во прилог на практична вредност може да се спроведе проверка механизми шема, дека развојот и дебагирање на последниот игра значајна улога.

Предмет на регуларни изрази

Од хипертекст јазиците се формализирани информации во поголема мера тие се појдовна материјал. Развиено голем број на шаблони и дизајни, кои овозможуваат за процесирање на големи количини на податоци ефикасно. Еден значаен дел од оваа работа се врши механизми вградени во различни системи за управување со содржини (CMS).

Не е изненадувачки, многу CMS стане де факто стандарди за градење на веб-сајтови, и да бидат придружени со (обновено) софтверски компании, тие не го прават тоа е потребно за извршување на развојот на модели за свој. Сепак, надвор од ваквите системи имаат искуство со регуларни изрази е многу корисно.

Регуларни изрази и вистински информации

Важна област на примена на регуларни изрази во PHP библиотеки формирана доаѓањето PHPOffice. Работа со документи, табеларни пресметки и секогаш има важна и OOXML стандардот не е само можно да се уништат вистинските документи, но, исто така, да ја креира својата програма.

Благодарение на развојот на хипертекстот и PHP јазици особено, постои реална можност да се автоматизира "производство" на документи "стандардна форма", на пример, фактури за плаќање, извештаи, бизнис планови, како и други информации објекти, структурата и содржината се всушност подложни на формализација и автоматизација.

Во врска со барањето да се опише процесот на развој на јазикот OOXML за регуларни изрази е сосема различно од традиционалните работење со Селектирај јазици HTML и CSS во на прво место. Вистинските документ, освен означување и во прилог на вистинската содржина има многу детали. На пример, документ кој е создаден автоматски од страна на програмата, ќе имаат силна и прецизна содржина. Документ формирани или лицето се третира, ќе имаат содржина, е насликана во текот на плуралноста на тагови. Секоја работа со документот води до фактот дека семантиката на тоа може да биде, но насликани во различни количини на различни дизајни.

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

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

Особено, со задачата сет со фразата "Решавање квадратни uranenie" по уредување ќе изгледа вака: ". За да се реши квадратната равенка" Ако во првиот првата грешка е поправена, а потоа вториот, тогаш природниот информации во OOXML стил може да изгледа вака: "[решен] [] [квадратни] [e] [] [аплауз] [b] [nenie]", но тоа не го прави тоа гарантира дека тоа е задача ќе се појави во OOXML тагови (загради емулира загради тагови).

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

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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