ComputereProgrammering

Regulære udtryk (PHP). PHP: regulære udtryk eksempler

Hvor stor og mangfoldig verden af oplysninger, lige så hurtigt, det udvider sig og udvikler sig. Enhver beslutning - kun et punkt i den overordnede proces for bevægelse. Viden og erfaring gør det muligt at forstå processen med at nå målet, men aldrig - ikke resultatet af sine resultater. Det er tvivlsomt, at vi kan tale i den nærmeste fremtid på resultatet, men det er vigtigt, at processen med at stræbe efter det er en betydelig og objektivt nødvendig proces.

"Ønske og / eller en masse penge" skaber ikke en algoritme i stand til det, og selvfølgelig "fri" mand gør, især når han ikke tænke på, hvad han gjorde. I enhver situation informationen problemet har mindst én blind plet, men for ham, som regel med det samme, andre rene pletter er synlige, og ikke nødvendigvis, at de er alle hvide blomster.

Internet-teknologi har forenklet adgang til information, men spørgsmålet er - hvordan man kan sætte på at have den ønskede - ikke forenklet, og erhvervet nye "volumen" af arbejde. Og selv om PHP regulært udtryk hul klart ikke er opbrugt, de er et vigtigt skridt fremad.

Simple funktioner + algoritme = mønster

Tilbyder regulære udtryk, PHP algoritme reducerer indholdet, men de sædvanlige søgefunktioner / udskiftning og algoritmer fundet ikke mistet deres betydning. Nye ideer ikke varsle den informationsteknologiske revolution. Den mest der kan forventes - kompakt kode og øge udvikleren evnen til at formulere en søgeforespørgsel korrekt.

Du skal vide og anvende på PHP regulære udtryk. Eksempler overbevisende og effektiv. Men det bør give rapporten, at med fremkomsten af en ny søgemaskine, tyngdepunktet flyttet til mønstret - en slags mekanisme, men i virkeligheden erstattet af et sæt enkle søgefunktioner, betingelser, løkker, og andre operatører.

har:

  • kvalitet og moderne værktøj - det er godt;
  • se og bruge erfaringerne fra kolleger er sagen;
  • kombinere virkelighed og virtuel idé - en garanti for succes.

Opnåelse viden om, hvordan det var nødvendigt at forstå problemet, for at løse det, er det ofte vigtigere end den specifikke resultat.

Regulære udtryk i PHP er repræsenteret ved en række funktioner på det sprog syntaks og en masse nyttige eksempler på internettet. På grund af syntaks specifikke anvendelsesmuligheder er kun begrænset af fantasien af bygherren, men sleuet huske på, at ikke alle skabelonerne vil arbejde. Ved hjælp af PHP validering af regulære udtryk er afgørende.

Simpel søgning tegn (streng)

Symbol - det er ikke altid en enkelt byte, og er ofte et symbol, som en chip, har en præcis betydning i tillæg. Kodning specificerer de synlige tegn i koden forskelligt. Symbolet kan have flere muligheder: "$" = "USD" = "USD", ... - er den nøjagtige betydning af, at et sted noget, men ikke nødvendigvis tæt på grund af valutaen. Dog kan den nøjagtige betydning ligge i variabel PHP, som altid starter med tegnet "$", men kan ikke starte med "USD" og "USD".

Symbolet af programmet kan være en funktion navn (streng) i forbindelse med: genkende og opfylde - det er fra den dynamiske objektorienteret programmering, når strukturen, funktioner, PHP regulært udtryk anvendes direkte til at træffe beslutninger. Fundet Symbolet "drejninger", der er i sig selv bestemmer, hvad de skal gøre i det sted, hvor det er fundet, og den måde, det er, "han anser" nødvendig.

Søg efter en karakter / linje - ikke sådan en simpel øvelse, og jo flere oplysninger, jo klarere bedre. Det er ikke altid nødvendigt at finde de ti bedste i fødevarepriserne, vælge lækre opskrifter fødselsdagskage, eller at bestemme entreprenøren for det falske loft.

Ofte er det nødvendigt at optimere de enkle algoritmer er ikke simple aritmetiske oplysninger eller under vanskelige forhold, når det ønskede tegn til at vælge fra en database, og den linje, hvor det er nødvendigt at finde - hundrede sider. Prisen er lig med at vælge et tegn fra det tidspunkt, hvor prøven databasen, og prisen på hvor man skal lede - søgning tid berygtede hundredvis af sider.

Lone symbol - det er ikke en sætning, og ikke et par sætninger, kunne han være hvor som helst og være så lille som ønsket. Sådan finder du ud, hvad der blev fundet den ønskede?

Eksempel: søgning på priserne

Bare finde symbolet teksten "$" - lidt. Kontroller, at det står over for en række, er det ikke altid nok. Hvis du giver et punkt eller nummer, før symbolet "$" er en garanti for, at de priser, som de monetære symboler er foran ikke vil blive taget i betragtning. Der er også udeladt den pris, som generelt ikke er angivet valuta, men på den side er det på udtrykkelige instruktioner.

Generelt løsningen af problemet på sædvanlig måde pustes ukendelighed algoritme og tidskrævende. I mellemtiden, ved hjælp af et regulært udtryk, vil antallet af PHP finde nogen problemer.

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

"Se e-mail - 2usd;
";
"Find e-mail - 2u.e;
.";
"Work email - UE2,
";
"Check email - $ 13", $ aresult);
. '; '. implodere ( '', $ aresult [0]). '
'.

Vil svare: "2; 2usd, 2u.e.", men fandt ikke noget på linjen: "tjekke e-mail - $ 13."

Forudsat for tilstedeværelsen af mønstret foran eller bag det tegn, kan du opnå succes hurtigt i de fleste tilfælde.

$ CContents = preg_match_all ( "/ ([0-9] + ([\ $] | usd | y \ £ \ |. Ue) {1}) | (([$] | usd | y \ £ \. | ue) {1} [0-9] +) / i ";
"Se e-mail - 2usd;
";
"Find e-mail - 2u.e;
.";
"Work email - UE2,
";
"Check email - $ 13", $ aresult);
. '; '. implodere ( '', $ aresult [0]). '
'.

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

Om utilsigtet logik

Regular Expressions PHP tilbud, samt andre værktøjer, men det er ikke nødvendigt at anvende dem i henhold til dens regler eller bruge andre funktioner, små bogstaver syntaks måde.

Muligt før begyndelsen af søgningen kræves for at henvende sig til rækken, og det sted, hvor vi søger, opdelt i komponenter i henhold til tidligere kriterier. Blot et par eksplodere () og implodere () ofte forenkler og fremskynder beslutningen.

For eksempel, som et resultat af indledende arbejde dannede en række strenge (data) i distriktet, hvor mange kartofler indsamlet hver landsby: Ukendt ImyaDerevnya og volumen indsamlet, og hvis landet kører flere virksomheder i en vifte af strenge er ImyaDerevnya.ImyaPredpriyatie og værdi gennem "; " og så på alle virksomheder. Beregn det samlede beløb indsamlet i dette tilfælde ikke vil være muligt, men hvis du gør impode ( ";", $ aresult), vil være en lang linje, hvor parret - ImyaDerevnya / ImyaDerevnya.ImyaPredpriyatie - en samling af størrelse - vil blive overført via ";". Må en omvendt på den resulterende, eksplodere ( ";", $ aresult) - en vifte af alle, der indsamles, og hvordan det er indsamlet, og derefter ved at fjerne de linjer fra alle ikke-numeriske tegn, vi har kun tal, hvis sum er den samlede mængde indsamlet.

I dette eksempel, tillader det regulære udtryk i PHP ikke at se alt for meget, de er nemme og billige ekstrakt de ønskede numeriske værdier. Hurtigt og effektivt, uanset hvor lang tid det kan være navnene på landsbyer og virksomheder. Denne løsning er ikke ideelt, men det viser, at der ikke altid følger reglerne skal være. Det er ofte muligt at opnå den ønskede på en usædvanlig måde.

Bort fra den tekniske side, kodningen

Syntaksen af algoritmen ikke sige, hvordan det ser ud i virkeligheden. Men giver den samme kodning på siden, og rækker script (som der søges, hvor billederne) kan fordybe sig i problemet er de tekniske aspekter.

Man skal ikke kun vide, hvad man skal kigge efter, men hvor man gør det, hvornår, hvor meget, hvad der skal ændres og hvordan. Formelt PHP regulære udtryk udført som en komplet full-featured mekanisme af sine egne, men af mange årsager, realiseringen af sine kolleger på mange sprog anderledes. Som en generel regel, før du flytter et bestemt mønster i et bestemt værktøj miljø for en bestemt opgave, er det nødvendigt at udføre høj kvalitet tilpasning, så tjek for alle de muligheder for kildedata.

Selv hvis du bruger din egen erfaring med udvikling i PHP, regulære udtryk, eksempler, skabeloner og design kræver omhyggelig kontrol. Dynamisk ændre sproget funktionalitet, syntaks og runtime.

Strukturen og indholdet af en skabelon

Hvad er tidligere skrevet i form af en kombination af søgefunktioner, betingede, udskiftning operationer, indsætte, slette, er en streng af tegn efter bestemte regler - regulært udtryk mønster. Faktisk er en betydelig mængde kodet på en bestemt måde og udført af særlige regler.

Ligesom det er umuligt at gøre noget debugging sprog operatør, kan du ikke debug et regulært udtryk mønster, kan denne proces kun efterligne. Som hovedregel vedtagne version: værker - virker ikke. Syntaksen er meget enkel, selv om hans opfattelse, især i starten, er meget vanskelig.

Et eksempel på et simpelt udtryk

I en enkel udformning, skabelonen matcher strengen:

$ CContents = preg_match ( "/ asdf / i", "asdf", $ aresult). '; '. implodere ( '', $ aresult).

Resultatet vil være "1; asdf", da funktionen afslutter sin drift ved den første mødte en matchende skabelon. Resultatet vil være den samme, hvis vi ser på linien "aaaasdf" på linje "zzzasdfvvv". Hvis du angiver den første og / eller sidste tegn, ville resultatet være klar:

$ CContents = preg_match ( "/ ^ asdf / i", "asdf", $ aresult). '; '. implodere ( '', $ aresult). '
';
$ CContents. = preg_match ( "/ asdf $ /", "asdf", $ aresult). '; '. implodere ( '', $ aresult). '
'.

Resultatet vil være: 1; asdf1; asdf.

Symbolerne "*" og "$" angiver hvor man skal starte og slutter mønster. Resultat preg_match funktion - antallet af kampe, kan det være 0, 1, eller falsk, hvis der registreres en fejl. Den tredje mulighed - et array - placeret kun fundet element. I tilfælde af at bruge preg_match_all function () Søgningen fortsætter til baglinjen.

$ CContents = preg_match ( "/ asdf / i", "asdf123asdf456asdf789", $ aresult). '; '. implodere ( '', $ aresult). '
';
$ CContents. = preg_match_all ( "/ asdf / i", "asdf123asdf456asdf789", $ aresult). '; '. implodere ( '', $ aresult [0]). '
'.

resultat:

1; asdf
3; asdf, asdf, asdf.

Hvis du ikke bruger specielle instruktioner, hver karakter definerer sig selv og sin plads, uanset hvilken linje kodning og skabelon kodning. Programmøren skal sikre, at kodningen af disse elementer var korrekt i forhold til hinanden og koder side.

PHP funktioner til at arbejde med regulære udtryk

Regulære udtryk for PHP repræsenterer en tegnstreng registreret på en bestemt måde. Normalt i analogi med andre programmeringssprog, bliver de skrevet i symbolerne "/" ... "/" og placeres i anførselstegn, du kan bruge en enkelt eller dobbelt, afhængigt af algoritmen.

Den vigtigste funktion php preg match regulære udtryk bruger både mønster match og stopper den ved det første sted, en variant deraf med et suffiks _all finder alle kampe, og udlæser array heraf. Funktion preg erstatte erstatter hver matche en skabelon, kan det arbejde med arrays, så søg design og udføre udskiftning af en bred vifte af muligheder.

kan udvikles spændende muligheder for at arbejde med regulære udtryk ved hjælp preg_replace_callback funktion, der tager ingen udskiftning tekst, og navnet på den funktion, som vil foretage en sådan udskiftning. Ud over den praktiske værdi kan du implementere mekanismer kontrollere mønster, at udviklingen og debugging af den sidste spiller en væsentlig rolle.

Omfanget af regulære udtryk

Da hypertekst sprog er formaliseret information i højere grad de er udgangsmateriale. Udviklet en lang række skabeloner og design, der gør det muligt at behandle store mængder data effektivt. En betydelig del af dette arbejde udføres mekanismer indbygget i forskellige content management systemer (CMS).

Ikke overraskende mange CMS blive de facto-standarder til byggepladser, og være ledsaget af de (opdateret) softwarevirksomheder, de ikke gør det nødvendigt at foretage udvikling af mønstre på egen hånd. Men uden for sådanne systemer har, erfaring med regulære udtryk er meget nyttig.

Regulære udtryk og reel information

Et vigtigt område for anvendelse af regulære udtryk i PHP biblioteker dannede fremkomsten PHPOffice. Arbejde med dokumenter, regneark, og har altid haft vigtige og OOXML-standarden er ikke blot muligt at demontere den faktiske dokumenter, men også til at forme deres program.

Takket være udviklingen af hypertekst og PHP sprog i særdeleshed, er der en reel mulighed for at automatisere "produktion" af dokumenter "standardformular", for eksempel, fakturaer til betaling, rapporter, forretningsplaner og andre informationsobjekter, strukturen og indholdet er faktisk muligt at foretage en formalisering og automatisering.

I forbindelse med ansøgningen til at beskrive sprog OOXML udviklingsprocessen af regulære udtryk er helt forskellig fra den traditionelle arbejde med kodesprog HTML og CSS i første omgang. Den aktuelle dokument, undtagen mærkning og i tillæg til det faktiske indhold har en masse detaljer. For eksempel, et dokument, der blev oprettet automatisk af programmet, vil have en stærk og præcis indhold. Dokument dannes eller den person behandles, vil have et indhold, blev malet over en flerhed af mærker. Alt arbejde med dokumentet fører til det faktum, at semantikken i det kan være en, men malet i forskellige mængder på forskellige designs.

Naturlig oplysninger og situationen

En person altid interesseret i løsningen af problemet, som har iscenesat information og, som et resultat, vil de samme oplysninger gives. Præsentation opgørelsen af problemet i form af et dokument, en person får en bestemt semantik, som er i specifikationen af eksperter (ændring afklaring ordlyd, slette, redigere) ikke kun fører til flere versioner af et dokument, men også til sine versioner med forskelligt indhold.

Især de opgaver, som ved udtrykket "Løs firkantet uranenie" efter redigering vil se sådan ud: "For at løse en andengradsligning" Hvis først er blevet rettet den første fejl, og derefter den anden, så den naturlige oplysninger i OOXML stil kunne se ud: "[løst] [] [square] [e] [] [jubel] [b] [nenie]", men dette ikke er tilfældet garantere, at dette er den opgave, vises i tags OOXML (parentes emulere parentes tags).

At sammensætte informationen kan nemt være efter hver opgave redigeringsprocessen, men hver gang denne procedure vil blive udført af forskellige algoritmer. Regulære udtryk, som en slags værktøj af formalisering af informations- problemer er blevet, i kraft, vandrestier fra de formelle strukturer hypertekst til den naturlige oplysninger.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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