КомпютриПрограмиране

Редовна експресия (PHP). PHP: регулярни изрази примери

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

"Desire и / или много пари" не създава алгоритъм, способен на това, и разбира се "свободен" човек прави, особено когато той не мисли за това, което той прави. Във всеки случай проблемът с информация има поне един сляпо петно, но за него, обикновено веднага, други чисти петна са видими, а не непременно, че те са всички бели цветя.

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

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

Предлагането на регулярни изрази, PHP алгоритъм значително намалява съдържанието, но обичайните функции за търсене / замяна и обработка на алгоритмите не е намерен загубили своята значимост. Новите идеи не вещае информационната революция. Най-многото, което може да се очаква - компактен код и увеличаване на разработчика способността да се формулират заявка за търсене правилно.

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

да има:

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

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

Регулярни изрази в PHP са представени от редица функции в синтаксиса на езика и с много полезни примери в Интернет. Поради синтаксис специфични опции за кандидатстване са ограничени само от въображението на възложителя, но sleuet имайте предвид, че не всички шаблони, ще работи. Използване на PHP валидиране на регулярните изрази е от съществено значение.

Обикновено търсене на символи (низ)

Символ - това не винаги е един байт, и често е символ, като чип, има точно значение в допълнение. Encoding определя видими символи в кода по различен начин. Символът може да има няколко варианта: "$" = "USD" = "USD", ... - е точното значение на, че някъде нещо, но не задължително в близост, което се дължи на валутата. Въпреки това, точното значение може да се крие в променлива PHP, която винаги започва с "$" характер, но не може да започва с "щ" и "щ".

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

Търсене за герой / линия - не толкова просто упражнение, и колкото повече информация, толкова по-ясно по-добре. Не винаги е необходимо да се намери десетте най-добри в цените на хранителните продукти, изберете вкусни рецепти торта, или да се определи изпълнител на окачения таван.

Често е необходимо да се оптимизира простите алгоритми не са проста аритметика информация или в трудни условия, когато желаният символ за избор от база данни, както и линията, в които е необходимо да се намери - сто сайтове. Цената е еднаква за да изберете символ от времето примерна база данни, както и цената на къде да търсите - търсене времеви известни стотици сайтове.

Lone символ - това не е фраза, а не няколко изречения, той може да е навсякъде и да бъде толкова малка, колкото е необходимо. Как да се определи какво е намерено е желаната?

Пример: при търсене на цените

Просто намери "$" символа на текст - малко. Уверете се, че тя е изправена пред редица, тя не винаги е достатъчно. Ако ви осигури една точка или номер, преди да "$" символа е гаранция, че цените, на които паричните символи са по-напред, няма да бъдат взети под внимание. Там също са пропуснати цената, която по принцип не е уточнено валута, но на страницата е на изрични инструкции.

Като цяло, решаването на проблема по обичайния начин издуват извън алгоритъм за разпознаване и отнема много време. В същото време, с помощта на регулярен израз, броят на PHP ще намерите никакви проблеми.

$ CContents = preg_match_all ( "/ [0-9] + ([\ $] | щ | у \ £ \ | UE) {1} / т.";

"Виж електронна поща - 2usd;
";
"Намери електронна поща - 2u.e;
.";
"Работата на електронна поща - ue2;
";
"Проверка на електронна поща - $ 13", $ aResult);
, "; ". свие ( ',', $ aResult [0]). "
".

Ще отговоря: "2; 2usd, 2u.e.", но не намери нищо в линията: "провери електронна поща - $ 13."

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

$ CContents = preg_match_all ( "/ ([0-9] + ([\ $] | щ | у \ £ \ |. Ue) {1}) | (([$] | щ | у \ £ \. | UE) {1} [0-9] +) / I ";
"Виж електронна поща - 2usd;
";
"Намери електронна поща - 2u.e;
.";
"Работата на електронна поща - ue2;
";
"Проверка на електронна поща - $ 13", $ aResult);
, "; ". свие ( ',', $ aResult [0]). "
".

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

За неволно логика

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

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

Така например, в резултат на предварителна работа формира масив от низове (данни) в областта на колко картофи, събрани всяко село: Неизвестен ImyaDerevnya и обем събрани, а ако страната се изпълнява няколко фирми в масив от низове е ImyaDerevnya.ImyaPredpriyatie и стойност чрез "; " и така нататък всички предприятия. Изчислете общата сума, събрана в този случай няма да е възможно, но ако impode правя ( ";", $ aResult), ще бъде една дълга линия, в която двойката - ImyaDerevnya / ImyaDerevnya.ImyaPredpriyatie - колекция от размер - ще бъдат прехвърлени чрез ";". Направете обратен на получения в резултат, се взривят ( ";", $ aResult) - набор от всички, които събират и как тя се събира и след това чрез премахване на линиите от всички не-цифрови символа, ние имаме само числа, сумата от които е общия обем събрани.

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

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

Синтаксисът на алгоритъма не казва как изглежда в действителност. Въпреки това, като предоставя същото кодиране на страницата, както и реда скрипт (който се иска, в който изображенията) може да се потопите в Проблемът е, неговите технически аспекти.

Човек трябва не само да знаят какво да търсят, но къде да го направя, кога, колко, какво да се промени и как. Формално PHP регулярни изрази, сключени в пълен пълнофункционален механизъм на себе си, но по много причини, реализацията на своите колеги в много езици различно. Като общо правило, преди да се премести определен модел в даден инструмент среда за конкретна задача, е необходимо да се извършва с високо качество адаптация, проверете за всички възможни варианти за изходните данни.

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

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

Какво е предварително написана под формата на комбинация от функции за търсене, условностите, подмяна операции, вмъкване, изтриване, е низ от знаци, съгласно определени правила - образец за регулярен израз. В действителност, значително количество е кодиран по определен начин и се изпълнява от специфични правила.

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

Един пример на проста експресия

В един прост пример, шаблона съвпада с низ:

$ 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 прег мача регулярни изрази използва както модел мач и да го спира на първото място, негов вариант с наставка _all намира всички мачове, и извежда на масива от него. Функционални прег заменят замества всеки мач шаблон, че може да работи с масиви, което позволява проектиране търсене и да извършват смяна на голямо разнообразие от възможности.

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

Обхват на регулярни изрази

Тъй като хипертекст езици са формализирани информация в по-голяма степен те са изходен материал. Разработено голям брой шаблони и дизайни, които позволяват да се обработват големи обеми от данни ефективно. Значителна част от тази работа се извършва механизми, вградени в различни системи за управление на съдържанието (CMS).

Не е изненадващо, много CMS стане фактически стандарти за изграждане на сайтове, както и да са придружени от (актуализиран) софтуерни компании, те не го правят необходимо да се извърши разработването на модели за своя сметка. Въпреки това, извън тези системи имат опит с регулярни изрази е много полезен.

Регулярни изрази и реалната информация

Една важна област на приложение на регулярни изрази в PHP библиотеки формира идване PHPOffice. Работа с документи, електронни таблици и винаги е имал важна и OOXML стандарт е възможно не само да се премахне реалните документи, но и да оформят своята програма.

Благодарение на развитието на хипертекст и PHP езици, по-специално, има реална възможност за автоматизиране на "производство" на документи "образец", например, фактури за плащане, доклади, бизнес планове, както и други информационни обекти, структурата и съдържанието са всъщност се поддават на формализация и автоматизация.

Във връзка с прилагането, за да опише процеса на развитие език OOXML на регулярните изрази е доста различна от традиционната, работещи с езици за маркиране, HTML и CSS, на първо място. Действителната документ, с изключение на маркировката и в допълнение към действителното съдържание има много подробности. Например, един документ, който е бил създаден автоматично от програмата, ще има по-силен и точен съдържание. Документ формира или лицето, лекува, ще има съдържание, е рисувана през множество маркери. Всяка работа с документа води до факта, че семантиката на това може да бъде една, но боядисани в различни суми на различни дизайни.

Natural информация и ситуация

Човек винаги се интересуват от решаването на проблема, който е поставен на информация и, като резултат, ще бъде дадена една и съща информация. Представяне на отчета на проблема под формата на документ, човек получава специфични семантика, която е в спецификацията на експерти (изменение, изясняване на формулировката, изтриване, редактиране) води не само до няколко версии на един документ, но и за нейните версии с различно съдържание.

По-специално, на задачата, определена от израза "Решете квадратен uranenie", след редактирането ще изглежда така: ". За решаването на квадратно уравнение" Ако в началото на първия грешката е поправена, а след това на втория, а след това на природен информацията в OOXML стил може да изглежда така: "[решен] [] [площад] [е] [] [наздраве] [б] [nenie]", но това не го прави гарантираме, че това е задачата, ще се появи в OOXML на тагове (скоби подражават скоби тагове).

За да съберат информацията може да бъде лесно след всяка задача процеса на редактиране, но всеки път, когато тази процедура ще се извършва от различни алгоритми. Регулярни изрази, като един вид инструмент на формализация на информационни проблеми са се превърнали в сила, пешеходни алеи от формалните структури на хипертекст към естествената информация.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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