Računala, Programiranje
Regularni izraz (PHP). PHP: regularnim izrazima primjeri
Koliko je velik i raznolik svijet informacija, kao i brzo se širi i razvija. Svaka odluka - samo jedan bod u cjelokupnom procesu kretanja. Znanje i iskustvo bi bilo moguće razumjeti proces postizanja cilja, ali nikad - nije rezultat njegovih postignuća. Upitno je da možemo govoriti u dogledno vrijeme na rezultat, ali je važno da se proces teži za to je značajan i objektivno nužan proces.
„Želja i / ili puno novca” ne stvara algoritam sposoban za to, i naravno „slobodan” čovjek radi, pogotovo kad je ne razmišljati o tome što je radio. U bilo kojoj situaciji informacije problem ima najmanje jednu slijepu točku, ali za njega, obično odmah, drugi čiste mrlje su vidljivi, a ne nužno da su svi bijeli cvjetovi.
Internet tehnologija je pojednostavnio pristup informacijama, ali pitanje je - kako staviti na vlasništvo željeni - nije pojednostavljen i stekao nove „volumen” rada. I premda PHP regularni izraz jaz očito se ne iscrpi, oni su značajan korak naprijed.
Jednostavne funkcije + algoritam = uzorak
Nudeći regularnih izraza, PHP algoritam značajno smanjuje sadržaj, ali uobičajene funkcije pretraživanja / zamjene i obrada algoritmi ne nađe izgubile značaj. Nove ideje ne slutiš informacijsku revoluciju. Najviše što se može očekivati - kompaktni koda i povećanje developer sposobnost osmišljavanja upit za pretraživanje ispravno.
Ti bi trebao znati i primijeniti na PHP regularnim izrazima. Primjeri uvjerljivi i učinkovit. No, to bi trebalo dati izvješće da je s dolaskom nove tražilice, je težište prebacio na uzorak - vrsta mehanizma, iako u stvari zamjenjuje niz jednostavnih funkcija pretraživanja, uvjeta petlje, i drugih subjekata.
imati:
- kvaliteta i moderan alat - to je dobro;
- vidjeti i koristiti iskustva kolega je stvar;
- kombinirajući stvarnosti i virtualnog ideju - garanciju za uspjeh.
Postizanje znanje o tome kako je potrebno razumjeti problem, kako to riješiti, to je često važnija od specifičnog rezultata.
Regularni izrazi u PHP zastupljeni po broju funkcija u jeziku sintaksa i puno korisnih primjera na internetu. Zbog sintakse specifične mogućnosti primjene su ograničene samo maštom developer, ali sleuet imajte na umu da nisu svi predlošci će raditi. Koristeći PHP validacije regularnih izraza je bitno.
Jednostavno lik traži (niz)
Simbol - to nije uvijek jedan bajt, te je često simbol, kao čip, ima precizno značenje u dodatak. Kodiranje određuje vidljive znakove u kodu drugačije. Simbol može imati nekoliko mogućnosti: „$” = „USD” = „USD”, ... - je točno značenje da je negdje nešto, ali ne nužno u neposrednoj blizini, s obzirom na valutu. Međutim, točan smisao, može ležati u promjenjivom PHP, koja uvijek počinje sa znakovima „$”, ali ne može započeti s „USD” i „USD”.
Simbol programa može biti naziv funkcije (niz) u kontekstu: prepoznati i ispuniti - to je iz programiranja dinamičan objektno-orijentirani, kada se struktura, funkcije, PHP regularni izrazi koriste izravno za donošenje odluka. Pronađeno simbol „zavoja”, koja je, sama po sebi određuje što treba učiniti na mjestu na kojem se nalazi, a način na koji je „on smatra” nužnim.
Traženje znaka / linija - ne tako jednostavne vježbe, a više informacija, jasnije to bolje. To nije uvijek potrebno naći deset najboljih cijena hrane, izaberite ukusne recepte rođendansku tortu ili kako bi se utvrdilo izvođača za spušteni strop.
Često je potrebno optimizirati jednostavne algoritmi nisu jednostavni aritmetički podatak ili u teškim uvjetima, kada se željeni znak za izabrati iz baze podataka, te linije u kojoj je potrebno pronaći - stotinu mjesta. Cijena je jednaka za odabir znaka od vremena uzorak baze podataka, a cijena gdje gledati - Vrijeme pretrage notorne stotine stranica.
Lone simbol - to nije samo fraza, a ne nekoliko rečenica, mogao je biti bilo gdje i biti mala kao željenu. Kako bi se utvrdilo što je pronađeno je željena?
Primjer: potraga za cijene
Dovoljno je pronaći tekst „$” simbol - malo. Provjerite da se suočava s nizom, to nije uvijek dovoljno. Ako vam pružiti točku ili broj prije simbol „$” je garancija da su cijene po kojima su novčana simboli su ispred neće se uzeti u obzir. Tu su izostavljeni cijenu, koja u cjelini nije određen valutu, ali na stranici je na jasnim uputama.
Općenito, rješenje problema na uobičajeni način napuhati izvan algoritam za prepoznavanje i dugotrajan. U međuvremenu, koristeći regularni izraz, broj PHP naći nikakvih problema.
$ CContents = preg_match_all ( "/ [0-9] + ([$ \] | USD | Y \ £ \ | ue) {1} / i.";
"Pogledajte e-mail - 2usd;
";
"Pronađi e-mail - 2u.e;
.";
"Rad e-mail - ue2;
";
"Provjera e-maila - 13 $", $ aresult);
, „; ”. urušavati ( '', $ aresult [0]). '
'.
Će odgovoriti: "2; 2usd, 2u.e.", ali nisu pronašli ništa u rečenici: "provjerite e-mail - 13. $"
Pružanje za prisutnost uzorak ispred ili iza lika, možete postići uspjeh brzo u većini slučajeva.
$ CContents = preg_match_all ( „/ ([0-9] + ([$ \] | USD | Y \ £ \ |, UE) {1}) | (([$] | USD | Y \ £ \. | ue) {1} [0-9] +) / i „,
"Pogledajte e-mail - 2usd;
";
"Pronađi e-mail - 2u.e;
.";
"Rad e-mail - ue2;
";
"Provjera e-maila - 13 $", $ aresult);
, „; ”. urušavati ( '', $ aresult [0]). '
'.
Rezultat: "4; 2usd, 2u.e., ue2, 13. $"
O neželjene logike
Regularni izrazi PHP ponude, kao i drugih alata, ali to nije potrebno da se primjenjuju u skladu sa svojim pravilima ili koristiti druge funkcije koje malim slovom sintakse način.
Mogući prije početka traženja potrebnih za uključivanje na polju, i mjesto gdje ćemo tražiti i podijeljeni na dijelove prema prethodnim kriterijima. Samo par eksplodirati () i urušavati () često pojednostavljuje i ubrzava odluku.
Na primjer, kao rezultat prethodnog rada formira niz žice (data) u dijelu o tome koliko krumpira prikupljenih svako selo Unknown ImyaDerevnya i volumena prikupljenih, a ako zemlja traje nekoliko tvrtki u niz žice je ImyaDerevnya.ImyaPredpriyatie i vrijednost kroz „; " i tako dalje sva poduzeća. Izračunajte ukupan iznos prikupljenih u ovom slučaju neće biti moguće, ali ako impode učiniti ( „;”, $ aresult), bit će jedan dugačak red, u kojem je par - ImyaDerevnya / ImyaDerevnya.ImyaPredpriyatie - skup mjera - prenijet će se putem „”. Da li Obrnut na dobiveni, eksplodirati ( „”, $ aresult) - niz od svega, koji prikupljaju i kako se skupljaju, a zatim uklanjanjem linije iz svih ne-numeričkih znakova, imamo samo brojeve, suma koja je ukupni volumen prikupljeni.
U ovom primjeru, regularni izraz u PHP-u ne dopuštaju da izgleda previše, oni su jednostavan i pristupačan ekstrakt željeni numeričke vrijednosti. Brzo i učinkovito, bez obzira koliko dugo to može biti imena sela i poduzeća. Ovo rješenje nije idealno, ali to pokazuje da ne slijede uvijek pravila bi trebala biti. Često je moguće postići željeni na neobičan način.
Apstrahiranja s tehničke strane, kodiranje
Sintaksa algoritma ne govori kako to izgleda u stvarnosti. Međutim, pod uvjetom da je isti kodiranje stranice, a redovi skripta (koja se traži u kojima su slike) može uroniti u problem je svojim tehničkim aspektima.
Ne samo da moraju znati što tražiti, ali gdje se to radi, kada, koliko, što promijeniti i kako. Formalno PHP regularnih izraza izvršavaju kao kompletan potpuno opremljenog mehanizam za sebe, ali iz mnogo razloga, realizacija svoje kolege u mnogim jezicima drugačije. Kao opće pravilo, prije nego što premjestiti određeni uzorak u određenom alat okruženja za određeni zadatak, potrebno je provesti kvalitetnu adaptaciju, provjerite za sve moguće opcije za izvorne podatke.
Čak i ako koristite svoje iskustvo u razvoju u PHP-u, regularni izrazi, primjeri, obrasci i dizajn zahtijeva pažljivo provjere. Dinamički mijenja jezik funkcionalnosti, sintaksu i izvođenja.
Struktura i sadržaj predloška
Ono što je ranije napisano u obliku kombinacije funkcija pretraživanja, kondicional, zamjena operacija, umetanje, brisanje je niz znakova u skladu s određenim pravilima - regularni izraz uzorak. U stvari, značajan iznos je kodiran na određeni način i izvršiti posebnim pravilima.
Baš kao što je nemoguće napraviti bilo ispravljanje pogrešaka jezika operatera, ne možete ispravljanje regularni izraz uzorak, ovaj proces može samo oponašati. Kao opće pravilo usvojio verziju: djela - ne radi. Sintaksa je vrlo jednostavan, iako je njegova percepcija, pogotovo u početku, vrlo je teško.
Primjer jednostavnog izraza
U jednostavnom obliku, predložak odgovara niz:
$ CContents = preg_match ( "/ asdf / i", "asdf" $ aresult). „; ”. urušavati ( '', $ aresult).
Rezultat će biti „1; asdf”, budući da je funkcija završi svoj rad na prvi susreo odgovarajući predložak. Rezultat će biti isti, ako ćemo gledati na liniji „aaaasdf” u liniji „zzzasdfvvv”. Ako navedete ime i / ili zadnji znak, rezultat će biti jasno:
$ CContents = preg_match ( "/ ^ asdf / i", "asdf", $ aresult). „; ”. urušavati ( '', $ aresult). '
';
$ CContents. = Preg_match ( "/ asdf $ /", "asdf", $ aresult). „; ”. urušavati ( '', $ aresult). '
'.
Rezultat će biti: 1; asdf1; asdf.
Simboli „*” i „$” pokazuje gdje početi, a završava uzorak. Rezultat preg_match funkciju - broj utakmica, može biti 0, 1 ili lažna, ako se otkrije greška. Treća mogućnost - niz - stavljen može naći samo element. U slučaju korištenja preg_match_all funkcije () Potraga se nastavlja do kraja linije.
$ CContents = preg_match ( "/ asdf / i", "asdf123asdf456asdf789" $ aresult). „; ”. urušavati ( '', $ aresult). '
';
$ CContents. = Preg_match_all ( "/ asdf / i", "asdf123asdf456asdf789" $ aresult). „; ”. urušavati ( '', $ aresult [0]). '
'.
rezultat:
1; asdf
3; asdf, asdf, asdf.
Ako ne koristite posebne upute, svaki lik sebe i svoje mjesto određuje, bez obzira na liniji kodiranje i predloška kodiranje. Programer mora osigurati da kodiranje tih elemenata su točni u odnosu na svaku drugu i kodiranja stranice.
PHP funkcije za rad sa regularnim izrazima
Regularni izrazi za PHP predstavlja niz znakova snimljene na određeni način. Obično, po analogiji s drugim programskim jezicima, zapisana su u simbolima „/” ... „/” i stavio pod navodnike, možete koristiti jedan ili dva, ovisno o algoritmu.
Glavna funkcija PHP preg utakmica regularne izraze koristi i uzorak utakmicu i zaustavlja ga na prvom mjestu, njegova varijanta sa sufiksom _all pronalazi sve utakmice, a izlazi njihov polje. Funkcija preg zamijeniti zamjenjuje svaki odgovara predložak, to može raditi s polja, čime dizajn pretragu i obaviti zamjenu različitim opcijama.
Zanimljivi opcije za rad sa regularnim izrazima može biti razvijen korištenjem preg_replace_callback funkciju koja ne traje zamjenski tekst i naziv funkcije, koje će provoditi takvu zamjenu. Uz praktične vrijednosti možete implementirati mehanizme provjeriti uzorak, da se razvoj i ispravljanje pogrešaka u posljednja igra značajnu ulogu.
Opseg regularnih izraza
Budući da su hipertekst jezici formalizirani informacija u većoj mjeri oni su početni materijal. Razvijen veliki broj predložaka i dizajna koji omogućuju obraditi velike količine podataka učinkovito. Značajan dio ovog rada se izvodi mehanizme ugrađene u različitim sustavima za upravljanje sadržajem (CMS).
Nije iznenađujuće, mnogi CMS postao de facto standard za gradilišta, te se u pratnji (ažurirano) softverske tvrtke, oni ne čine to potrebno za obavljanje razvoj obrazaca na svoju vlastitu. Međutim, izvan tih sustava imaju iskustva s regularnim izrazima je vrlo korisno.
Regularni izrazi i pravi informacija
Važno područje primjene regularnim izrazima u PHP knjižnica formirana je nastup PHPOffice. Rad s dokumentima, proračunskim tablicama, i uvijek je imao važan i OOXML standard moguće ne samo demontirati stvarne dokumente, ali i da oblikuju svoj program.
Zahvaljujući razvoju hipertekstualnih i PHP jezika posebno, postoji stvarna prilika da automatizirati „proizvodnju” dokumenata „standardnog oblika”, na primjer, računi za plaćanje, izvješća, poslovnih planova i drugih informativnih objekata, struktura i sadržaj su zapravo primamljiva formalizacije i automatizacije.
U vezi s primjenom opisati proces razvoja jezika OOXML regularnih izraza je sasvim različit od tradicionalnog rada sa markup jezika HTML-a i CSS-a u prvom mjestu. Stvarni dokument, osim označavanja i pored stvarnog sadržaja ima puno detalja. Na primjer, dokument koji je nastao automatski program, imat će snažan i precizan sadržaj. Dokument formirana ili osoba liječi, će imati sadržaj, bio je obojen preko više oznaka. Svaki rad s dokumentom dovodi do činjenice da je semantika to može biti jedan, ali obojana u različitim količinama na različitim izvedbama.
Prirodni informacije i situacija
Čovjek uvijek zainteresiran za rješenje problema, koji je montiranom informacije i, kao rezultat toga, ista informacija će se dati. Predstavljajući izvješće o problemu u obliku dokumenta, osoba dobiva posebne semantike, koja je u specifikaciji stručnjaka (izmjena, objašnjavanja teksta, brisanje, uređivanje) ne samo da dovodi do više verzija dokumenta, ali i svojim izvedbama s različitim sadržajem.
Konkretno, zadatak postavljen od strane izraz „Riješite kvadratnu uranenie” nakon uređivanja će izgledati ovako: „Kako riješiti kvadratnu jednadžbu” Ako u početku je ispravljen prva greška, a zatim drugi, onda je prirodno informacije u OOXML stil može izgledati ovako: „[riješeno] [] [kvadrat] [e] [] [klicanje] [b] [nenie]”, ali to ne jamči da je ovaj zadatak će se pojaviti u oznake OOXML (zagrade oponašati tipkovnici oznake).
Kako sastaviti informacije se mogu lako nakon svakog zadatka postupak uređivanja, ali svaki put je taj postupak će se provesti raznim algoritmima. Regularni izrazi, kao svojevrstan alat formalizacije informacijskih problema su postali, u stvari, pješačke staze od formalnih struktura hiperteksta na prirodnu informacija.
Similar articles
Trending Now