OrdinadorsProgramació

Expressió regular (PHP). PHP: expressions regulars exemples

Què tan gran i divers món de la informació, amb la mateixa rapidesa, s'expandeix i es desenvolupa. Qualsevol decisió - només un punt en el procés global de moviment. El coneixement i l'experiència fan possible entendre el procés d'arribar a la meta, però mai - no el resultat dels seus èxits. És dubtós que podem parlar en un futur previsible en el resultat, però és important que el procés de recerca de la qual és un procés important i objectivament necessari.

"El desig i / o un munt de diners" no crea un algoritme capaç d'això, i per descomptat l'home "lliure" fa, sobretot quan ell no pensa en el que estava fent. En qualsevol situació, el problema de la informació té almenys un angle mort, però per a ell, en general immediatament, taques altres netes són visibles, i no necessàriament que totes són flors blanques.

La tecnologia d'Internet ha simplificat l'accés a la informació, però la pregunta és - com posar en tenir el desitjat - no simplificat, i va adquirir nou "volum" de treball. I encara que PHP expressió regular bretxa està clar que no s'esgota, que són un important pas endavant.

funcions simples + algoritme = patró

Oferint expressions regulars, PHP algoritme redueix significativament el contingut, però els algoritmes habituals funcions de recerca / reemplaçament i de processament que no es troben perdre la seva importància. Les noves idees no auguren la revolució de la informació. El màxim que es pot esperar - codi compacte i augmentar el desenvolupador de la capacitat de formular una consulta de cerca correctament.

Vostè ha de conèixer i aplicar sobre les expressions regulars de PHP. Exemples convincent i eficaç. Però ha de donar l'informe que amb l'arribada d'un nou motor de cerca, el centre de gravetat es va desplaçar al patró - una mena de mecanisme, encara que en realitat substituïda per un conjunt de senzilles funcions de recerca, condicions, bucles, i altres operadors.

tenir:

  • la qualitat i l'eina moderna - és bo;
  • veure i utilitzar l'experiència dels col·legues és la matèria;
  • la combinació de la realitat i la idea virtuals - una garantia d'èxit.

L'assoliment de coneixement de com era necessari entendre el problema, per resoldre-ho, és sovint més important que el resultat específic.

Les expressions regulars en PHP són representats per una sèrie de funcions en la sintaxi del llenguatge i una gran quantitat d'exemples útils a Internet. A causa de la sintaxi de les opcions específiques de l'aplicació estan limitades només per la imaginació dels desenvolupadors, però sleuet tenir en compte que no totes les plantilles funcionarà. Utilitza la validació de PHP d'expressions regulars és essencial.

Simple caràcter de cerca (cadena)

Símbol - això no és sempre un sol byte, i és sovint un símbol, com un xip, té un significat precís, a més. Codificació especifica els caràcters visibles en el codi diferent. El símbol pot tenir diverses opcions: "$" = "USD" = "USD", ... - és el significat exacte que en algun lloc alguna cosa, però no necessàriament a prop, a causa de la divisa. No obstant això, el significat exacte pot estar en PHP variable, que sempre comença amb el caràcter "$", però no pot començar amb "USD" i "USD".

El símbol del programa pot ser un nom de funció (cadena) en el context de: reconèixer i complir - és de la programació orientada a objectes dinàmics, quan l'estructura, les funcions, les expressions regulars de PHP s'utilitzen directament per a la presa de decisions. Trobat el símbol "gira", és a dir, per si mateix determina què fer en el lloc en el qual es troba, i la forma en què és "que considera" necessari.

Cercar un caràcter / línia - no és un exercici tan simple, i com més informació, més clara serà la millor. No sempre és necessari trobar els deu millors preus dels aliments, triar delicioses receptes pastís d'aniversari, o per determinar el contractista per al fals sostre.

Sovint és necessari optimitzar els algoritmes simples no són informació aritmètica simple o en condicions difícils, quan el caràcter desitjat per triar una base de dades, i la línia en la que cal trobar - un centenar de llocs. El preu és igual per a seleccionar un caràcter des del moment a la base de dades de la mostra, i el preu d 'on cercar - Temps de cerca notoris centenars de llocs.

símbol solitari - no és una frase, i no un parell de frases, que podria estar en qualsevol lloc i ser tan petit com es vulgui. Com determinar el que es va trobar és la desitjada?

Exemple: recerca de preus

Només ha de trobar el símbol de text "$" - una mica. Comproveu que s'enfronta a una sèrie, no sempre és suficient. Si proporciona un punt o número abans del símbol "$" és una garantia que els preus als que els símbols monetaris estan per davant no es tenen en compte. També s'han omès el preu, que en general no s'especifica la moneda, però a la pàgina que està en les instruccions explícites.

En general, la solució del problema de la forma habitual inflar més enllà algoritme de reconeixement i requereix molt de temps. Mentrestant, l'ús d'una expressió regular, el nombre de PHP trobarà cap problema.

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

"Mira correu electrònic - 2USD;
";
"Trobar correu electrònic - 2u.e;
.";
"Correu electrònic de treball - UE2;
";
"Comprovar el correu electrònic - $ 13", $ aResult);
. '; '. implosionar ( '', $ aResult [0]). '
'.

Respondrà: "2; 2USD, 2u.e.", però no va trobar res a la línia: "comprovar el correu electrònic - $ 13."

Que preveu la presència del patró al davant o darrere del personatge, es pot aconseguir l'èxit ràpidament en la majoria dels casos.

$ CContents = preg_match_all ( "/ ([0-9] + ([\ $] | USD | i \ £ \ |. Ue) {1}) | (([$] | USD | i \ £ \. | ue) {1} [0-9] +) / i ";
"Mira correu electrònic - 2USD;
";
"Trobar correu electrònic - 2u.e;
.";
"Correu electrònic de treball - UE2;
";
"Comprovar el correu electrònic - $ 13", $ aResult);
. '; '. implosionar ( '', $ aResult [0]). '
'.

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

Sobre la lògica no intencionat

Expressions regulars ofertes de PHP, així com altres eines, però no cal que s'apliquen d'acord a les seves regles o utilitzar altres funcions proporcionades manera sintaxi minúscules.

Possible abans del començament de la recerca requerida per girar a la matriu, i el lloc on busquem, desglossat en components d'acord amb els criteris anteriors. Només un parell d'explotar () i implosionen () sovint simplifica i accelera la decisió.

Per exemple, com a resultat dels treballs preliminars format una matriu de cadenes (dades) al districte de quantes patates recol·lectades cada poble: Desconegut ImyaDerevnya i volum recollit, i si el país corre diverses empreses en una matriu de cadenes és ImyaDerevnya.ImyaPredpriyatie i valor mitjançant "; " i així successivament totes les empreses. Calcular la quantitat total recollida en aquest cas no serà possible, però si ho fa impode ( ";", $ aResult), serà una línia llarga, en la qual el parell - ImyaDerevnya / ImyaDerevnya.ImyaPredpriyatie - una col·lecció de mida - es transmet a través del ";". Fer un revers en el resultat, explotar ( ";", $ aResult) - una matriu de tots, el qual recopila i com es recull, i després mitjançant l'eliminació de les línies de tots els caràcters no numèrics, tenim només números, la suma dels quals és el volum total recollit.

En aquest exemple, l'expressió regular en PHP no permet mirar massa, que són l'extracte fàcil i assequible els valors numèrics desitjats. Ràpida i eficient, sense importar el temps que pot ser el nom dels pobles i les empreses. Aquesta solució no és ideal, però demostra que no sempre segueixen les regles han de ser. Sovint és possible aconseguir el desitjat d'una manera inusual.

Fent abstracció de la part tècnica, la codificació

La sintaxi de l'algoritme no diu com es veu en la realitat. No obstant això, proporcionar la mateixa codificació de la pàgina, i el guió files (que es busca en el qual les imatges) pot submergir-se en el problema és els seus aspectes tècnics.

Un no només ha de saber què buscar, però on fer-ho, quan, quant, què canviar i com. Formalment PHP expressions regulars executats com un mecanisme completament equipat complet de la seva pròpia, però per moltes raons, la realització dels seus homòlegs en molts idiomes diferents. Com a regla general, abans de seguir un patró particular en un entorn d'eina en particular per a una tasca específica, cal dur a terme l'adaptació d'alta qualitat, la verificació de totes les opcions possibles per a les dades d'origen.

Fins i tot si vostè utilitza la seva pròpia experiència en el desenvolupament en PHP, expressions regulars, exemples, plantilles i disseny requereix la comprovació acurada. Que canvia dinàmicament la funcionalitat del llenguatge, sintaxi i temps d'execució.

L'estructura i el contingut d'una plantilla

El que estava escrit prèviament en la forma d'una combinació de funcions de recerca, condicionals, les operacions de substitució, inserir, eliminar, és una cadena de caràcters d'acord amb certes regles - patró d'expressió regular. De fet, una quantitat significativa es codifica d'una manera determinada i executat per normes específiques.

Igual que és impossible fer qualsevol operador llenguatge de depuració, no es pot depurar un patró d'expressió regular, aquest procés només pot emular. Com a regla general va adoptar la versió: treballs - no funciona. La sintaxi és molt simple, encara que la seva percepció, sobretot al principi, és molt difícil.

Un exemple d'una simple expressió

En una realització senzilla, la plantilla coincideix amb la cadena:

$ CContents = preg_match ( "/ asdf / i", "asdf", $ aResult). '; '. implosionar ( '', $ aResult).

El resultat serà "1; asdf", ja que la funció completa la seva operació en el primer es va reunir una plantilla a joc. El resultat serà el mateix, si ens fixem en línia "aaaasdf" en línia "zzzasdfvvv". Si s'especifica el primer i / o últim caràcter, el resultat seria clara:

$ CContents = preg_match ( "/ asdf ^ / i", "asdf", $ aResult). '; '. implosionar ( '', $ aResult). '
';
$ CContents. = Preg_match ( "/ asdf $ /", "asdf", $ aResult). '; '. implosionar ( '', $ aResult). '
'.

El resultat serà: 1; asdf1; asdf.

Els símbols "*" i "$" indica on començar i el patró de finalització. Resultat de la funció preg_match - el nombre de coincidències, pot ser 0, 1, o fals, si es detecta un error. La tercera opció - una matriu - col·locat element només es troba. En el cas d'utilitzar la funció preg_match_all () recerca continua la línia de fons.

$ CContents = preg_match ( "/ asdf / i", "asdf123asdf456asdf789", $ aResult). '; '. implosionar ( '', $ aResult). '
';
$ CContents. Preg_match_all = ( "/ asdf / i", "asdf123asdf456asdf789", $ aResult). '; '. implosionar ( '', $ aResult [0]). '
'.

resultat:

1; asdf
3; asdf, asdf, asdf.

Si no utilitza instruccions especials, cada personatge es defineix i el seu lloc, independentment de la codificació de línia i codificació plantilla. El programador ha de assegurar-se que la codificació d'aquests elements eren correctes en relació l'un a l'altre i la codificació de pàgina.

Les funcions PHP per treballar amb expressions regulars

Les expressions regulars per a PHP representen una cadena de caràcters registrada d'una manera determinada. En general, per analogia amb altres llenguatges de programació, que estan escrits en els símbols "/" ... "/" i es col·loca entre cometes, es pot utilitzar en funció simple o doble en l'algoritme.

El partit preg funció php principal expressions regulars utilitza tant coincidència de patró i la deté a la primera ubicació, una variant del mateix amb un _all sufix troba tots els partits, i emet la sèrie dels mateixos. preg funció Replace reemplaça cada coincideixen amb una plantilla, pot treballar amb matrius, el que permet el disseny de consulta i realitzi el reemplaçament d'una varietat d'opcions.

opcions interessants per treballar amb expressions regulars es poden desenvolupar utilitzant la funció preg_replace_callback que no pren en text de reemplaçament, i el nom de la funció, que portarà a terme aquesta substitució. A més del valor pràctic pot implementar mecanismes del patró del xec, que el desenvolupament i la depuració de l'última juga un paper important.

Abast de les expressions regulars

Ja que les llengües d'hipertext es formalitzen informació en major mesura són el material de partida. Desenvolupat un gran nombre de plantilles i dissenys que permeten processar grans quantitats de dades de manera eficient. Una part important d'aquest treball es porta a terme mecanismes incorporats en diversos sistemes de gestió de continguts (CMS).

No és sorprenent que molts CMS convertir-se en estàndards de facto per a la construcció de llocs, i sent acompanyada per les companyies de programari (actualitzada), no fan que sigui necessari per dur a terme el desenvolupament de patrons per si sola. No obstant això, fora d'aquests sistemes tenen experiència amb les expressions regulars és molt útil.

Les expressions regulars i la informació real

Una àrea important d'aplicació d'expressions regulars a les biblioteques de PHP va formar l'adveniment PHPOffice. Treballar amb documents, fulls de càlcul, i sempre ha tingut important i estàndard OOXML és possible no només per desmantellar els documents reals, sinó també per donar forma al seu programa.

Gràcies al desenvolupament de les llengües d'hipertext i PHP en particular, hi ha una oportunitat real per automatitzar la "producció" dels documents "format estàndard", per exemple, factures de pagament, informes, plans de negoci, i altres objectes d'informació, l'estructura i els continguts són en realitat susceptibles de formalització i automatització.

En relació amb la sol·licitud per descriure el procés de desenvolupament del llenguatge OOXML de les expressions regulars és força diferent de la tradicional de treball amb llenguatges de marcat HTML i CSS en el primer lloc. El document real, excepte el marcatge i més del contingut real té una gran quantitat de detalls. Per exemple, un document que s'ha creat automàticament pel programa, tindrà un contingut fort i precisa. Document format o la persona tractada, tindrà un contingut, va ser pintada sobre una pluralitat d'etiquetes. Qualsevol treball amb el document porta al fet que la semàntica que siguin un, però pintat en diferents quantitats en diferents dissenys.

informació natural i la situació

Una persona sempre interessat en la solució del problema, que ha organitzat la informació i, com a resultat, se li donarà la mateixa informació. La presentació de la declaració del problema en la forma d'un document, una persona obté una semàntica específics, que està en l'especificació d'experts (modificació, aclarir terminologia, esborrar, editar) no només condueix a múltiples versions d'un document, sinó també a les seves versions amb diferents continguts.

En particular, la tasca fixada per la frase "Resoldre uranenie quadrada" després de l'edició es veurà així: "Per resoldre una equació de segon grau." Si al principi el primer error s'ha corregit, i després el segon, llavors la informació natural en estil OOXML podria ser: "[solucionat] [] [quadrat] [i] [] [aplaudiments] [b] [nenie]", però això no ho fa garanteix que aquesta és la tasca apareixerà al OOXML etiquetes (entre parèntesis emulen les etiquetes entre parèntesis).

Per armar la informació pot ser fàcilment després de cada tasca del procés d'edició, però cada vegada que aquest procediment es realitzarà mitjançant diversos algoritmes. Les expressions regulars, com una mena d'eina de formalització dels problemes d'informació s'han convertit, en efecte, rutes de senderisme des de les estructures formals d'hipertext a la informació natural.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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