Datamaskiner, Programmering
Regulært uttrykk (PHP). PHP: regulære uttrykk eksempler
Hvor stor og mangfoldig verden av informasjon, like raskt, utvider det og utvikler seg. Enhver beslutning - bare et poeng i den totale prosessen av bevegelse. Kunnskap og erfaring gjør det mulig å forstå prosessen med å nå målet, men aldri - ikke et resultat av sine prestasjoner. Det er tvilsomt at vi kan snakke i overskuelig fremtid på resultatet, men det er viktig at prosessen med å streve for det er en betydelig og objektivt nødvendig prosess.
"Desire og / eller mye penger" skaper ikke en algoritme i stand til det, og selvsagt "fri" mann gjør, spesielt når han ikke tenke på hva han gjorde. I enhver situasjon informasjonen problemet har minst en blind flekk, men for ham, vanligvis en gang, andre rene flekker er synlige, og ikke nødvendigvis at de er alle hvite blomster.
Internett-teknologi har forenklet tilgang til informasjon, men spørsmålet er - hvordan å sette på å ha den ønskede - ikke forenklet, og kjøpte nye "volum" arbeid. Og selv om PHP regulære uttrykk gapet er åpenbart ikke utmattet, de er et betydelig skritt fremover.
Enkle funksjoner + algoritme = mønster
PHP algoritme som tilbyr regulære uttrykk, reduserer innholdet, men de vanlige søkefunksjoner / utskifting og prosesseringsalgoritmer fant ikke mistet sin betydning. Nye ideer ikke varsle informasjon revolusjon. Det meste som kan forventes - kompakt kode og øke utvikleren evnen til å formulere et søk korrekt.
Du bør vite og søke på PHP regulære uttrykk. Eksempler overbevisende og effektiv. Men det bør gi rapporten at med framveksten av en ny søkemotor, tyngdepunktet forskjøvet til mønster - en slags mekanisme, men faktisk erstattet av et sett av enkle søkefunksjoner, vilkår, løkker, og andre operatører.
har:
- kvalitet og moderne verktøy - det er bra;
- se og bruke opplevelsen av kolleger er saken;
- kombinere virkelighet og virtuell idé - en garanti for suksess.
Oppnå kunnskap om hvordan det var nødvendig å forstå problemet, for å løse det, er det ofte viktigere enn spesifikt resultat.
Regular Expressions i PHP er representert med en rekke funksjoner i språket syntaks og mange nyttige eksempler på internett. På grunn av syntaks konkrete alternativer for programmet er begrenset bare av fantasien av utbygger, men sleuet husk at ikke alle malene vil fungere. Bruke PHP validering av regulære uttrykk er avgjørende.
Enkelt søk karakter (streng)
Symbol - dette er ikke alltid en enkel byte, og er ofte et symbol, som en chip, har en presis betydning i tillegg. Koding spesifiserer synlige tegnene i koden annerledes. Symbolet kan ha flere alternativer: "$" = "USD" = "USD", ... - er den nøyaktige betydningen av at et sted noe, men ikke nødvendigvis nær, på grunn av valuta. Imidlertid kan den nøyaktige betydningen ligge i variable PHP, som alltid starter med tegnet "$", men kan ikke starte med "USD" og "USD".
Symbolet av programmet kan være et funksjonsnavn (streng) i sammenheng med: gjenkjenne og oppfylle - det er fra den dynamiske objektorientert programmering, når struktur, funksjon, PHP regulære uttrykk brukes direkte for å ta beslutninger. Funnet symbolet "svinger", det vil si av seg selv bestemmer hva du skal gjøre i stedet der den er funnet, og måten den er, "han anser" nødvendig.
Søk etter et tegn / linje - ikke en så enkel øvelse, og jo mer informasjon, jo klarere jo bedre. Det er ikke alltid nødvendig å finne de ti beste i matvareprisene, velger deilige oppskrifter bløtkake, eller å bestemme entreprenør for falske taket.
Ofte er det nødvendig å optimalisere de enkle algoritmer er ikke enkel aritmetikk informasjon eller under vanskelige forhold, når ønsket tegn å velge fra en database, og linjen der det er nødvendig å finne - hundre nettsider. Prisen er lik for å velge et tegn fra tid eksempeldatabasen, og prisen på hvor du skal lete - søketid beryktede hundre nettsider.
Lone symbol - det er ikke en setning, og ikke noen få setninger, kunne han være hvor som helst og være så liten som ønsket. Hvordan du finner ut hva som ble funnet er ønsket?
Eksempel: søk for priser
Bare finne teksten "$" symbol - litt. Sjekk at det står et tall, er det ikke alltid nok. Hvis du gir et punkt eller nummer før symbolet "$" er en garanti for at prisene på som den monetære symboler er videre ikke vil bli tatt hensyn til. Det er også utelatt prisen, som generelt ikke er angitt valuta, men på siden det er på eksplisitte instruksjoner.
Generelt er den løsning av problemet på vanlig måte blåses utover gjenkjennelse algoritme og tidkrevende. I mellomtiden, ved hjelp av et vanlig uttrykk, vil antallet PHP finner ingen problemer.
$ CContents = preg_match_all ( "/ [0-9] + ([\ $] | usd | y \ £ \ | ue) {1} / i.";
"Se e-post - 2usd,
";
"Finn e-post - 2u.e,
.";
"Arbeid e-post - UE2,
";
"Sjekk e-post - $ 13", $ aresult);
. '; '. implodere ( '', $ aresult [0]). '
'.
Vil svare: "2; 2usd, 2u.e.", men fant ikke noe i linjen: "sjekke e-post - $ 13."
Sørge for tilstedeværelse av mønsteret foran eller bak karakteren, kan du oppnå suksess raskt i de fleste tilfeller.
$ CContents = preg_match_all ( "/ ([0-9] + ([\ $] | usd | y \ £ \ |. Ue) {1}) | (([$] | usd | y \ £ \. | ue) {1} [0-9] +) / i ";
"Se e-post - 2usd,
";
"Finn e-post - 2u.e,
.";
"Arbeid e-post - UE2,
";
"Sjekk e-post - $ 13", $ aresult);
. '; '. implodere ( '', $ aresult [0]). '
'.
Resultat: "4, 2usd, 2u.e., UE2, $ 13."
Om utilsiktet logikk
Regular Expressions PHP tilbud, samt andre verktøy, men det er ikke nødvendig å bruke dem i henhold til reglene, eller bruke andre funksjoner som tilbys små bokstaver syntaks måte.
Mulig før begynnelsen av søket som kreves for å slå til array, og stedet hvor vi søker, brutt ned i komponenter i henhold til tidligere kriterier. Bare et par eksplodere () og implodere () ofte forenkler og hastigheter opp vedtaket.
For eksempel, som et resultat av forarbeid dannet en rekke strenger (data) i distriktet på hvor mange poteter som samles hver landsby: Ukjent ImyaDerevnya og volum samlet, og hvis landet går flere selskaper i en rekke strenger er ImyaDerevnya.ImyaPredpriyatie og verdier gjennom "; " og så på alle bedrifter. Beregne den totale mengden innsamlet i dette tilfellet vil ikke være mulig, men hvis du gjør impode ( ";", $ aresult), vil være en lang linje, hvor paret - ImyaDerevnya / ImyaDerevnya.ImyaPredpriyatie - en samling av størrelse - vil bli overført via ";". Gjøre en omvendt på den resulterende, eksplodere ( "", $ aresult) - en matrise av alt, som samlet og hvordan den blir oppsamlet, og deretter ved å fjerne linjer fra alle ikke-numeriske tegn, har vi bare tall hvis sum som er det totale volum ble oppsamlet.
I dette eksempelet tillater regulære uttrykk i PHP ikke å se for mye, de er enkle og rimelige ekstrakt de ønskede tallverdier. Raskt og effektivt, uansett hvor lang tid det kan være navn på landsbyer og bedrifter. Denne løsningen er ikke ideelt, men det viser at ikke alltid følger reglene skal være. Det er ofte mulig å oppnå ønsket på en uvanlig måte.
Abstrahere fra den tekniske siden kodingen
Syntaksen algoritmen ikke si hvordan det ser ut i virkeligheten. Men, som gir samme koding av siden, og rekker script (som søkes der bildene) kan stupe inn i problemet er de tekniske aspektene.
Man må ikke bare vite hva du skal se etter, men hvor de skal gjøre det, når, hvor mye, hva du skal endre og hvordan. Formelt PHP regulære uttrykk utført som en komplett fullverdig mekanisme av sine egne, men for mange grunner, realisering av sine kolleger på mange språk annerledes. Som en generell regel, før du flytter et bestemt mønster i et bestemt verktøy miljø for en bestemt oppgave, er det nødvendig å gjennomføre høy kvalitet tilpasning, se etter alle mulige alternativer for kildedataene.
Selv om du bruker din egen erfaring med utvikling i PHP, regulære uttrykk, eksempler, maler og design krever nøye kontroll. Dynamisk endring av språk funksjonalitet, syntaks og runtime.
Strukturen og innholdet av en mal
Det som tidligere ble skrevet i form av en kombinasjon av søkefunksjoner, conditionals, utskifting operasjoner, sette inn, slette, er en streng med tegn i henhold til visse regler - vanlig uttrykk mønster. Faktisk, er en betydelig mengde som er kodet på en bestemt måte og utført av bestemte regler.
Akkurat som det er umulig å gjøre noe debugging språk operatøren, kan du ikke feilsøke et regulært uttrykk mønster, kan denne prosessen bare etterligne. Som en generell regel vedtatt versjon: verk - ikke fungerer. Syntaksen er veldig enkel, selv om hans oppfatning, særlig i begynnelsen, er svært vanskelig.
Et eksempel på et enkelt uttrykk
I en enkel utførelsesform, den symbolmal passer til strengen:
$ CContents = preg_match ( "/ asdf / i", "asdf", $ aresult). '; '. implodere ( '', $ aresult).
Resultatet vil være "en, asdf", ettersom funksjonen fullfører sin drift i første møtte en matchende mal. Resultatet vil være den samme, hvis vi ser på linjen "aaaasdf" in line "zzzasdfvvv". Hvis du angir den første og / eller siste tegn, ville resultatet være klart:
$ CContents = preg_match ( "/ ^ asdf / i", "asdf", $ aresult). '; '. implodere ( '', $ aresult). '
';
$ CContents. = preg_match ( "/ asdf $ /", "asdf", $ aresult). '; '. implodere ( '', $ aresult). '
'.
Resultatet vil være: 1; asdf1; asdf.
Symbolene "*" og "$" indikerer hvor du skal begynne og slutter mønster. Resultat preg_match funksjon - antall kamper, kan det være 0, 1 eller falsk, hvis en feil detekteres. Det tredje alternativet - en matrise - plasseres bare funnet element. I tilfellet med anvendelse av preg_match_all funksjon () søk fortsetter til slutten linjen.
$ CContents = preg_match ( "/ asdf / i", "asdf123asdf456asdf789", $ aresult). '; '. implodere ( '', $ aresult). '
';
$ CContents. = preg_match_all ( "/ asdf / i", "asdf123asdf456asdf789", $ aresult). '; '. implodere ( '', $ aresult [0]). '
'.
resultatet:
1; asdf
3; asdf, asdf, asdf.
Hvis du ikke bruker spesielle opplysninger, definerer hver karakter i seg selv og sin plass, uavhengig av linjen koding og mal koding. Programmereren må sørge for at kodingen av disse elementer var riktig i forhold til hverandre og koding side.
PHP funksjoner for å arbeide med regulære uttrykk
Regulære uttrykk for PHP representerer en tegnstreng registrert på en bestemt måte. Vanligvis, ved analogi med andre programmeringsspråk, de er skrevet i symboler "/" ... "/" og plassert i anførselstegn, du kan bruke enkel eller dobbel avhengig av algoritmen.
Hovedfunksjonen php preg kamp regulære uttrykk bruker både mønstertilpasning og stopper det ved det første sted, en variant derav med et suffiks _all finner alle kampene, og gir som utgang gruppen derav. Funksjon preg erstatte erstatter hver kamp en mal, kan det fungere med matriser, slik at søke design og utfører utskifting av en rekke alternativer.
Interessante muligheter for å arbeide med regulære uttrykk kan utvikles ved hjelp preg_replace_callback funksjon som tar ingen erstatning tekst, og navnet på funksjonen, som vil foreta en slik erstatning. I tillegg til den praktiske verdien kan du implementere mekanismer sjekke mønster, at utvikling og debugging av siste spiller en betydelig rolle.
Omfanget av regulære uttrykk
Siden hyper språk er formalisert informasjon i større grad de er utgangsmaterialet. Utviklet et stort antall maler og design som gjør det mulig å behandle store mengder data effektivt. En vesentlig del av dette arbeidet er utført mekanismer bygget inn ulike innholdshåndteringssystemer (CMS).
Ikke overraskende, mange CMS blitt de facto-standarder for byggeplasser, og blir akkompagnert av (oppdatert) programvareselskaper, gjorde de ikke gjør det nødvendig å gjennomføre utviklingen av mønstrene på egen hånd. Men utenom slike systemer har erfaring med regulære uttrykk er svært nyttig.
Regulære uttrykk og reell informasjon
Et viktig område for anvendelse av regulære uttrykk i PHP-biblioteker dannet advent PHPOffice. Arbeide med dokumenter, regneark, og har alltid hatt viktig og OOXML-standarden er mulig ikke bare å demontere selve dokumentene, men også til å forme sitt program.
Takket være utviklingen av hypertekst og PHP språk i særdeleshet, er det en reell mulighet til å automatisere "produksjon" av dokumenter "standard form", for eksempel fakturaer for betaling, rapporter, forretningsplaner, og andre informasjonsobjekter, strukturen og innholdet er faktisk mottagelig for formalisering og automatisering.
I forbindelse med søknaden for å beskrive språket OOXML utviklingsprosessen av regulære uttrykk er ganske forskjellig fra den tradisjonelle arbeids med kodespråk HTML og CSS i første omgang. Selve dokumentet, unntatt merking og i tillegg til det faktiske innholdet har en rekke detaljer. For eksempel, et dokument som ble opprettet automatisk av programmet, vil ha en sterk og nøyaktig innhold. Dokument dannet eller personen behandles, vil ha et innhold, ble malt over et flertall av koder. Alt arbeid med dokumentet fører til at semantikken til det kan være ett, men malt i ulike beløp på ulike utførelser.
Naturlig informasjon og situasjon
En person alltid interessert i løsningen av problemet, som har iscenesatt informasjon, og som et resultat, vil den samme informasjonen gis. Presentere uttalelsen av problemet i form av et dokument, en person får en bestemt semantikk, som er i spesifikasjonen av eksperter (endring, avklare ordlyden, slette, redigere) ikke bare fører til flere versjoner av et dokument, men også til sine versjoner med forskjellig innhold.
Spesielt oppgaven satt av uttrykket "Løs torget uranenie" etter redigering vil se slik ut: "For å løse en kvadratisk likning" Hvis først har blitt rettet opp den første feilen, og deretter den andre, så den naturlige informasjonen i OOXML stil kan se slik ut: "[løst] [] [kvadrat] [e] [] [jubel] [b] [nenie]", men dette betyr ikke garantere at dette er oppgaven vises i koder OOXML (parentes ligne brak tags).
For å sette sammen den informasjonen kan lett etter hver oppgave redigeringsprosessen, men hver gang denne fremgangsmåten vil bli utført ved hjelp av forskjellige algoritmer. Regulære uttrykk, som et slags verktøy for formalisering av informasjons problemer har blitt, i kraft, turstier fra de formelle strukturene i hypertekst til den naturlige informasjon.
Similar articles
Trending Now