CalculatoareProgramare

Expresii regulate (PHP). PHP: expresii regulate, exemple

Cât de mare și lumea diversă de informații, la fel de repede, se extinde și se dezvoltă. Orice decizie - doar un punct în procesul general de circulație. Cunoștințe și experiență de a face posibilă pentru a înțelege procesul de realizare a obiectivului, dar niciodată - nu rezultatul realizărilor sale. Este îndoielnic că putem vorbi în viitorul previzibil asupra rezultatului, dar este important ca procesul de lupta pentru el este un proces semnificativ și necesar în mod obiectiv.

„Dorința și / sau o mulțime de bani“ nu creează un algoritm capabil de așa ceva, și, desigur, omul „liber“ nu, mai ales atunci când el nu se gândească la ceea ce făcea. În orice situație, problema de informații are cel puțin un punct orb, dar pentru el, de obicei imediat, pete curate altele sunt vizibile, și nu neapărat că acestea sunt toate florile albe.

Tehnologia de internet a simplificat accesul la informație, dar întrebarea este - cum sa-si care au dorit - nu traditională și a dobândit noi „volum“ de lucru. Și , deși expresia regulată PHP decalaj este în mod clar nu sa epuizat, ele sunt un important pas înainte.

funcții simple + = algoritm de model

Oferirea de expresii regulate, PHP algoritm reduce semnificativ conținutul, dar de obicei funcțiile de căutare / înlocuire și procesare a algoritmilor constatat că nu au pierdut importanța lor. Ideile noi nu prevestesc revoluția informațională. Cele mai multe, care poate fi de așteptat - codul de compact și de a crește dezvoltator capacitatea de a formula corect o interogare de căutare.

Ar trebui să știi și să aplice pe expresii regulate PHP. Exemple convingătoare și eficiente. Dar ar trebui să dea raportul că, odată cu apariția unui nou motor de căutare, centrul de greutate sa mutat la modelul - un fel de mecanism, deși de fapt înlocuit cu un set de funcții simple de căutare, condiții, bucle, și alți operatori.

au:

  • calitate și instrument modern - este bine;
  • a se vedea și de a folosi experiența colegilor este problema;
  • combinând realitatea virtuală și ideea - o garanție a succesului.

Realizarea cunoașterea modului în care a fost necesar pentru a înțelege problema, să o rezolve, este adesea mai important decât rezultatul specific.

Expresii regulate în PHP sunt reprezentate de o serie de funcții în sintaxa limbii și o mulțime de exemple utile de pe Internet. Din cauza sintaxa opțiuni specifice de aplicare sunt limitate doar de imaginația dezvoltator, dar sleuet ține cont de faptul că nu toate șabloanele vor funcționa. Folosind validarea PHP expresiilor regulate este esențială.

caracter de căutare simplă (șir de caractere)

Simbol - acest lucru nu este întotdeauna un singur octet, și este adesea un simbol, ca un cip, are un sens precis în plus. Codificarea specifică caracterele vizibile în codul diferit. Simbolul poate avea mai multe opțiuni: „$“ = „USD“ = „USD“, ... - este sensul exact al că undeva ceva, dar nu neapărat aproape, din cauza monedei. Cu toate acestea, semnificația exactă se poate afla în PHP variabilă, care începe întotdeauna cu caracterul „$“, dar nu poate începe cu „USD“ și „USD“.

Simbolul programului poate fi un nume de funcție (string), în contextul: să recunoască și să îndeplinească - este din programarea dinamică orientată spre obiect, când structura, funcțiile, expresiile regulate PHP sunt utilizate în mod direct pentru luarea deciziilor. S-au găsit simbolul „transformă“, care este, prin ea însăși determină ce să facă în locul în care se găsește, și modul în care aceasta este, „el consideră“ necesar.

Căutați un caracter / linie - nu un astfel de exercițiu simplu și cât mai multe informații, mai clare cu atât mai bine. Nu este întotdeauna necesar pentru a găsi cele mai bune zece prețurilor la produsele alimentare, pentru a alege retete delicioase tort, sau pentru a determina contractantului pentru tavan fals.

De multe ori este necesar pentru a optimiza algoritmii simpli nu sunt informații simple aritmetice sau în condiții dificile, atunci când caracterul dorit de a alege dintr-o bază de date și linia în care este necesar să se găsească - o sută de site-uri. Pretul este egal pentru a selecta un caracter din momentul în care baza de date eșantion, iar prețul în cazul în care să se uite - timp de căutare sute de site-uri notorii.

Simbolul Lone - nu este o frază, și nu câteva propoziții, el ar putea fi oriunde și să fie la fel de mici așa cum se dorește. Cum de a determina ce a fost găsit este dorit?

Exemplu: căutare pentru prețuri

Doar găsi simbolul textul „$“ - un pic. Verificați dacă acesta se confruntă cu un număr, nu este întotdeauna suficient. Dacă furnizați un punct sau un număr înainte de simbolul „$“ este o garanție că prețurile la care simbolurile monetare sunt înainte nu vor fi luate în considerare. Există, de asemenea, sunt omise prețul, care, în general, nu este specificată valută, dar pe pagina este pe instrucțiuni explicite.

În general, soluția problemei în mod obișnuit umfla dincolo de algoritmul de recunoaștere și consumatoare de timp. Între timp, folosind o expresie regulată, numărul de PHP va găsi nici o problema.

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

"Uite ce e-mail - 2 USD;
";
"Găsiți e-mail - 2u.e;
.";
"Munca de e-mail - UE2;
";
"Verifică e-mail - $ 13", $ aResult);
. „; “. implode ( '', $ aResult [0]). '
'.

Va răspunde: "2; 2 USD, 2u.e.", dar nu a găsit nimic în linia: "a verifica e-mail - $ 13."

Asigurarea pentru prezența modelului în fața sau în spatele personajului, puteți obține un succes rapid, în cele mai multe cazuri.

$ CContents = preg_match_all ( „/ ([0-9] + ([\ $] | usd | y \ £ \ |. Ue) {1}) | (([$] | usd | y \ £ \. | ue) {1} [0-9] +) / i „;
"Uite ce e-mail - 2 USD;
";
"Găsiți e-mail - 2u.e;
.";
"Munca de e-mail - UE2;
";
"Verifică e-mail - $ 13", $ aResult);
. „; “. implode ( '', $ aResult [0]). '
'.

Rezultat: "4; 2 USD, 2u.e., UE2, $ 13."

Despre logica neintenționate

Regular oferte Expresiile PHP, precum și alte instrumente, dar nu este necesar să le aplice în conformitate cu normele sale sau de a folosi alte funcții prevăzute mod de sintaxă cu litere mici.

Posibil, înainte de începerea percheziției necesare pentru a porni la matrice, și locul unde am căuta, defalcate pe componente în conformitate cu criteriile anterioare. Doar câteva exploda () și implozie () de multe ori simplifică și accelerează decizia.

De exemplu, ca urmare a lucrărilor preliminare au format o serie de șiruri (date) din districtul pe cât de mulți cartofi colectate în fiecare sat: Necunoscut ImyaDerevnya și volumul colectate, iar în cazul în care țara se execută mai multe companii într-o matrice de siruri de caractere este ImyaDerevnya.ImyaPredpriyatie și valoare prin „; " și așa mai departe toate întreprinderile. Se calculează cantitatea totală colectată în acest caz, nu va fi posibil, dar dacă faci impode ( „“, $ aResult), va fi o linie lungă, în care perechea - ImyaDerevnya / ImyaDerevnya.ImyaPredpriyatie - o colecție de dimensiuni - vor fi transferate prin „;“. Face un revers pe rezultat, exploda ( „“, $ aResult) - o serie de toate, care au colectat și modul în care sunt colectate, și apoi prin eliminarea liniilor din toate caractere non-numerice, avem doar numere, suma care este volumul total colectat.

În acest exemplu, expresia regulată în PHP nu permite să se uite prea mult, ele sunt extract de ușor și la prețuri accesibile valorile numerice dorite. Rapid și eficient, indiferent de cât timp poate fi numele satelor și întreprinderilor. Această soluție nu este ideală, dar arată că nu respectă întotdeauna regulile ar trebui să fie. Adesea este posibil pentru a realiza dorit într-un mod neobișnuit.

Abstractizare din partea tehnică, codificarea

Sintaxa algoritmului nu spune cum se arată în realitate. Cu toate acestea, oferind aceeași codificare a paginii, și script-ul rânduri (care este solicitată, în care imaginile) pot plonja în problema este aspectele sale tehnice.

Nu numai că trebuie să știe ce să caute, dar în cazul în care să o facă, atunci când, cât de mult, ce să se schimbe și cum. PHP Formal expresii regulate executate ca un mecanism complet cu caracteristici complete proprii, dar din mai multe motive, realizarea de omologii săi în mai multe limbi diferite. Ca regulă generală, înainte de a muta un anumit model într-un mediu instrument special pentru o anumită sarcină, este necesar să se efectueze adaptarea de înaltă calitate, pentru a verifica toate opțiunile posibile pentru datele sursă.

Chiar dacă utilizați propria experiență în curs de dezvoltare în PHP, expresii regulate, exemple, template-uri și de proiectare necesită o verificare atentă. schimbarea Dynamically funcționalitatea limbajului, sintaxa și durata de funcționare.

Structura și conținutul unui șablon

Ceea ce a fost scris anterior sub forma unei combinații de funcții de căutare, condiționale, operațiunile de înlocuire, insera, șterge, este un șir de caractere în conformitate cu anumite reguli - model de expresie regulată. De fapt, o cantitate semnificativă este codificată într-un anumit fel și executate de reguli specifice.

La fel cum este imposibil de a face orice operator limba depanare, nu se poate depana un model de expresie regulată, acest proces poate emula numai. Ca regulă generală adoptată versiune: lucrări - nu funcționează. Sintaxa este foarte simplu, cu toate că percepția sa, mai ales la inceput, este foarte dificil.

Un exemplu de expresie simplă

Într-un exemplu de realizare simplu, șablonul se potrivește cu șirul:

$ CContents = preg_match ( "/ asdf / i", "asdf", $ aResult). „; “. implozie ( '', $ aResult).

Rezultatul va fi „1, asdf“, deoarece funcția completează funcționarea acestuia la primul întâlnit un șablon de potrivire. Rezultatul va fi la fel, dacă ne uităm la linia de „aaaasdf“ în linie „zzzasdfvvv“. Dacă specificați primul și / sau ultimul caracter, rezultatul ar fi clar:

$ CContents = preg_match ( "/ ^ asdf / i", "asdf", $ aResult). „; “. implozie ( '', $ aResult). '
';
$ CContents. = preg_match ( "/ asdf $ /", "asdf", $ aResult). „; “. implozie ( '', $ aResult). '
'.

Rezultatul va fi: 1; asdf1; asdf.

Simbolurile „*“ și „$“ indică unde să înceapă și modelul de sfârșit. Rezultat Funcția preg_match - numărul de meciuri, acesta poate fi 0, 1, sau false, în cazul în care este detectată o eroare. A treia opțiune - o matrice - plasat elementul găsit doar. În cazul folosirii funcției preg_match_all () căutare continuă la linia de final.

$ CContents = preg_match ( "/ asdf / i", "asdf123asdf456asdf789", $ aResult). „; “. implozie ( '', $ aResult). '
';
$ CContents. = preg_match_all ( "/ asdf / i", "asdf123asdf456asdf789", $ aResult). „; “. implode ( '', $ aResult [0]). '
'.

rezultat:

1; asdf
3; asdf, asdf, asdf.

Dacă nu utilizați instrucțiuni speciale, fiecare personaj în sine și locul său definește, indiferent de linia de codificare și codificarea șablon. Programatorul trebuie să se asigure că codificarea acestor elemente au fost corecte în raport cu cealaltă și codificare pagina.

Funcții PHP pentru lucrul cu expresii regulate

Expresiile regulate pentru PHP reprezintă un șir de caractere înregistrate într-un anumit fel. De obicei, prin analogie cu alte limbaje de programare, ele sunt scrise în simbolurile „/“ ... „/“ și plasate între ghilimele, puteți utiliza simplă sau dublă, în funcție de algoritmul.

Principala funcție php PREG meci expresii regulate utilizează atât meci de model și se oprește-l la prima locație, o variantă a acestuia, cu un sufix _ALL găsește toate meciurile, și ieșirile matrice a acestora. PREG Funcția înlocuiți înlocuieste fiecare se potrivesc un șablon, se poate lucra cu matrice, permițând proiectarea de căutare și de a efectua înlocuirea o varietate de opțiuni.

opțiuni interesante pentru lucrul cu expresii regulate pot fi dezvoltate folosind funcția preg_replace_callback care are nici un text de înlocuire, precum și numele funcției, care va efectua o astfel de înlocuire. În plus față de valoarea practică, puteți pune în aplicare mecanisme de control al modelului, că dezvoltarea și depanare a ultimului joacă un rol semnificativ.

Domeniul de aplicare a expresiilor regulate

Deoarece limbi hipertext sunt formalizate de informații într-o mai mare măsură ele sunt materialul de pornire. Dezvoltarea unui număr mare de template-uri și modele care permit să proceseze cantități mari de date în mod eficient. O parte semnificativă a acestei lucrări se realizează mecanisme construite în diferite sisteme de management al conținutului (CMS).

Nu este surprinzator, multe CMS devin standarde de facto pentru construirea de site-uri, și fiind însoțite de companii de software (actualizat), ei nu au făcut necesară pentru a efectua dezvoltarea de modele pe cont propriu. Cu toate acestea, în afara unor astfel de sisteme au experiență cu expresii regulate este foarte util.

expresii regulate și informații reale

Un domeniu important de aplicare a expresiilor regulate în biblioteci PHP format PHPOffice adventă. Lucrul cu documente, foi de calcul, și a avut întotdeauna important și standardul OOXML este posibil nu numai să demonteze documentele reale, dar, de asemenea, de a modela programul lor.

Datorită dezvoltării hipertext și PHP limbi, în special, există o oportunitate reală de a automatiza „producția“ de documente „formular standard“, de exemplu, facturi de plată, rapoarte, planuri de afaceri, precum și alte obiecte de informații, structura și conținutul sunt de fapt supuse la formalizarea și automatizare.

În legătură cu cererea pentru a descrie procesul de dezvoltare a limbajului OOXML a expresiilor regulate este destul de diferit de lucru tradițional cu limbajele de marcare HTML și CSS, în primul rând. Documentul real, cu excepția marcajului și, în plus față de conținutul real are o mulțime de detalii. De exemplu, un document care a fost creat automat de program, va avea un conținut puternic și precis. Document format sau persoana tratată, va avea un conținut, a fost pictat pe o multitudine de tag-uri. Orice lucrare cu documentul conduce la faptul că semantica poate fi una, dar vopsite în diferite cantități pe diferite modele.

Informații naturale și situația

O persoană mereu interesată în soluționarea problemei, care a pus în scenă de informații și, ca urmare, aceleași informații vor fi oferite. Prezentarea declarației problemei sub forma unui document, o persoană devine o anumită semantică, care este în caietul de sarcini al experților (amendament, a clarifica formularea, șterge, edita) nu numai că duce la mai multe versiuni ale unui document, dar, de asemenea, la versiunile sale cu conținut diferit.

În special, sarcina stabilită prin sintagma „rezolva uranenie pătrat“, după editare va arata astfel: „Pentru a rezolva o ecuație de gradul doi“ Dacă la prima prima eroare a fost corectată, iar apoi al doilea, apoi informațiile naturale în stil OOXML ar putea arata ca: „[rezolvat] [] [pătrat] [e] [] [noroc] [b] [nenie]“, dar acest lucru nu garanta că aceasta este sarcina va apărea în OOXML tag-uri (între paranteze emula brackets tag-uri).

Pentru a pune împreună informațiile pot fi ușor după fiecare sarcină procesul de editare, dar de fiecare dată când această procedură va fi efectuată de către diverși algoritmi. Expresii regulate, ca un fel de instrument de formalizare a problemelor de informare au devenit, de fapt, mersul pe jos poteci din structurile formale ale hypertext informațiilor naturale.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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