RačunalaProgramiranje

Regularni izraz (PHP). PHP: regularnih izraza primjeri

Koliko je velika i raznolika svijet informacija, isto tako brzo, to se širi i razvija. Svaka odluka - samo bod u ukupnom procesu kretanja. Znanja i iskustva da li je moguće da razumiju proces postizanja cilja, ali nikad - nije rezultat njegovih dostignuća. Pitanje je da li možemo govoriti u doglednoj budućnosti na rezultat, ali je važno da se proces teži jer je značajan i objektivno neophodan proces.

"Želja i / ili puno novca" ne stvara algoritam sposobna za to, i naravno "slobodne" čovjek radi, posebno kada on ne misli o tome što je radio. U svakoj situaciji problem informacijama ima najmanje jedan slijepi mjesto, ali za njega, obično odmah, drugi čisti mrlje su vidljivi, a ne nužno da su svi bijelog cvijeća.

Internet tehnologija je pojednostavljen pristup informacijama, ali je pitanje - kako da imam željeno - ne pojednostavljen, i stekli nova "Volume" posla. I mada PHP regularni izraz jaz nije jasno iscrpljena, oni su značajan korak naprijed.

Jednostavne funkcije + algoritam = obrazac

Nudeći regularne izraze, PHP algoritam značajno smanjuje sadržaj, ali uobičajene funkcije pretraživanje / zamjenu i obrada algoritmi Pronađeno nije izgubio svoj značaj. Nove ideje ne nagoveštavaju informatičku revoluciju. Najviše što se može očekivati - kompaktan kod i povećanje developer sposobnost da formuliše upit za pretraživanje ispravno.

Trebalo bi da znate i primijeniti na PHP regularnih izraza. Primjeri uvjerljiv i efikasan. Ali treba dati izvještaj koji sa pojavom novog pretraživača, težište prebaci na obrazac - neka vrsta mehanizma, iako zapravo zamijenjen set jednostavnih funkcija pretraživanje, uslovi, petlje i drugih operatora.

imaju:

  • kvaliteta i moderan alat - to je dobro;
  • vidjeti i koristiti iskustva kolega je stvar;
  • kombinirajući stvarnosti i virtualne ideja - garancija uspjeha.

Postizanje znanja o tome kako je bilo potrebno da shvate problem, to riješiti, često je važniji od specifičnih rezultata.

Regularni izrazi u PHP-u su predstavljene brojne funkcije na jeziku sintakse i puno korisnih primjera na internetu. Zbog sintakse specifičnog mogućnosti primjene su ograničene samo maštom developera, ali sleuet imajte na umu da nisu svi predložaka će raditi. Koristeći PHP validacije regularnih izraza je od suštinskog značaja.

Jednostavno pretraživanje znakova (string)

Simbol - to nije uvijek jedan bajt, a često je simbol, kao čip, ima precizno značenje u dodatak. Kodiranje određuje vidljive znakove u kodu drugačije. Simbol može imati nekoliko opcija: "$" = "USD" = "USD", ... - je tačno značenje tog negdje nešto, ali ne nužno blizu, zbog valute. Međutim, tačno značenje možda leži u varijabli PHP-u, koji uvijek počinje sa znakom "$", ali ne može početi sa "USD" i "USD".

Simbol programa može biti ime funkcije (string) u kontekstu: prepoznati i ispuniti - to je od dinamičke objektno orijentirano programiranje, kada se koristi direktno strukturu, funkcije, PHP regularnih izraza za donošenje odluka. Pronađeno simbol "skretanja", koja je sama po sebi određuje šta da radi u mjestu u kojem se nalazi, i način na koji je to ", on smatra" potrebno.

Traži / karakter linija - i nije tako jednostavna vježba, a više informacija, jasnije to bolje. To nije uvijek potrebno pronaći deset najboljih u cijenama hrane, izabrati ukusne recepte rođendansku tortu, ili da se odredi izvođača radova za spušteni plafon.

Često je potrebno optimizirati jednostavne algoritme nisu jednostavne aritmetičke informacije ili u teškim uvjetima, kada je željeni znak da izaberete iz baze podataka, a linija u kojoj je potrebno pronaći - stotinu lokacija. Cijena je jednaka za odabir lik iz vremena uzorak baze podataka, a cijena gdje gledati - pretraživanje vremena zloglasnog stotinama lokacija.

Lone simbol - to nije fraza, a ne nekoliko rečenica, on bi mogao biti bilo gdje i biti mali po želji. Kako odrediti što je pronađen je željena?

Primjer: potraga za cijene

Samo nađi simbol "$" tekst - malo. Provjerite da li se suočava sa brojnim, to nije dovoljno i uvijek. Ako vam pružiti tačku ili broj prije nego simbol "$" je garancija da su cijene po kojima su pred monetarne simboli neće biti uzete u obzir. Tu su i izostavljeni cijenu, koja uopšte nije specificirana valutu, ali na stranici je na izričite instrukcije.

U principu, 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.";

"Vidi e-mail - 2usd;
";
"Pronađi e-mail - 2u.e;
.";
"Rad e-mail - ue2;
";
"Check e-mail - $ 13", $ aResult);
. '; '. implodira ( ',', $ aResult [0]). '
'.

Će odgovoriti: "2; 2usd, 2u.e.", ali nije našao ništa u redu: "provjerite e-mail - $ 13."

Pružanje za prisustvo obrazac ispred ili iza lika, možete brzo postići uspjeh u većini slučajeva.

$ CContents = preg_match_all ( "/ ([0-9] + ([\ $] | USD | y \ £ \ |. Ue) {1}) | (([$] | USD | y \ £ \. | UE) {1} [0-9] +) / i ";
"Vidi e-mail - 2usd;
";
"Pronađi e-mail - 2u.e;
.";
"Rad e-mail - ue2;
";
"Check e-mail - $ 13", $ aResult);
. '; '. implodira ( ',', $ aResult [0]). '
'.

Rezultat: "4; 2usd, 2u.e., ue2, $ 13."

O nenamjerne logika

Regularni izrazi PHP ponude, kao i drugih alata, ali nije neophodno da ih primjenjuju u skladu sa svojim pravilima niti koristiti druge funkcije koje mala sintakse način.

Moguće prije početka pretrage potrebne da se okrenu niz, i mjesto gdje tragamo, oborio na komponente u skladu sa prethodnim kriterijima. Samo nekoliko eksplodirati () i implodira () često pojednostavljuje i ubrzava odluku.

Na primjer, kao rezultat preliminarnog rada formirali niz stringova (podataka) u okrugu koliko krompira prikupljeni svako selo: Nepoznato ImyaDerevnya i volumena prikupljeni, a ako ta zemlja vodi nekoliko firmi u nizu stringova je ImyaDerevnya.ImyaPredpriyatie i vrijednosti kroz "; " i tako na svim preduzećima. Izračunajte ukupan iznos prikupljenih u ovom slučaju neće biti moguće, ali ako impode ( ";", $ aResult), će biti jedan dugi red, u kojem je par - ImyaDerevnya / ImyaDerevnya.ImyaPredpriyatie - kolekcija veličine - će biti prebačen preko ";". Da li obrnutog na rezultat, eksplodirati ( ";", $ aResult) - niz od svega, koji su prikupili i kako se prikupljaju, a zatim uklanjanjem linije od svih ne-numeričkih znakova, imamo samo brojke, suma koja je ukupni volumen prikupljeni.

U ovom primjeru, regularni izraz u PHP-u omogućavaju da ne gleda previše, oni su lako i povoljno ekstrakt željeni numeričke vrijednosti. Brzo i efikasno, bez obzira koliko dugo to može biti imena sela i biznisa. Ovo rješenje nije idealno, ali to pokazuje da ne uvijek ne prati pravila bi trebalo da bude. Često je moguće postići željene na neobičan način.

Apstrahuju tehničke strane, kodiranja

Sintaksa algoritma ne kaže kako to izgleda u stvarnosti. Međutim, pružajući isto kodiranje stranice, a redovi pismo (koje se traži u kojima slike) može uroniti u problem je u njegove tehničke aspekte.

Ne treba samo znati šta da traži, ali gdje se to radi, kada, koliko, šta da se menja i kako. Formalno PHP regularni izrazi pogubljen kao potpunu potpuno opremljenog mehanizam po sebi, ali za mnoge razloga, ostvarenje svoje kolege u mnogim jezicima drugačije. Kao opće pravilo, pre nego što pređete određeni obrazac u određenoj alat okruženje za određeni zadatak, potrebno je izvršiti adaptaciju visoke kvalitete, provjerite za sve moguće opcije za podatke o izvoru.

Čak i ako koristite svoje iskustvo u razvoju u PHP-u, regularne izraze, primjeri, predloške i dizajn zahtijeva pažljivoj provjeri. Dinamički mijenja funkcionalnost jezik, sintaksa i runtime.

Struktura i sadržaj predloška

Ono što je prethodno napisano u obliku kombinacije funkcije pretrage, uređaja, zamjena operacija, umetanje, brisanje je niz znakova prema određenim pravilima - regularni izraz obrazac. U stvari, značajan iznos je kodiran na određeni način i pogubili posebnim pravilima.

Kao što je nemoguće učiniti bilo kojeg operatera za ispravljanje pogrešaka jezika, ne možete debug regularni izraz obrazac, ovaj proces može samo oponašati. Kao opće pravilo usvojen verziju: radova - ne radi. Sintaksa je vrlo jednostavan, iako je njegova percepcija, posebno u početku, vrlo je teško.

Primjer jednostavnog izraza

Na jednostavan izvedbi, predložak odgovara niz:

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

Rezultat će biti "1; asdf", budući da je funkcija završi svoj rad na prvi put sreo odgovarajući predložak. Rezultat će biti isti, ako pogledamo line "aaaasdf" u skladu "zzzasdfvvv". Ako odredite prvi i / ili posljednji karakter, rezultat bi bio jasan:

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

Rezultat će biti: 1; asdf1; asdf.

Simboli "*" i "$" označava odakle da počnem i obrazac završava. Rezultirati preg_match funkcija - broj utakmica, to može biti 0, 1 ili lažna, ako se otkrije greška. Treća opcija - niz - postaviti samo naći element. U slučaju korištenja preg_match_all funkcije () pretraživanje nastavlja do kraja linije.

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

rezultat:

1; asdf
3; asdf, asdf, asdf.

Ako ne koristite posebne instrukcije, svaki znak definira sebe i svoje mjesto, bez obzira na linijsko kodiranje i kodiranje predložak. Programer mora osigurati da je kodiranje tih elemenata bili u pravu u odnosu na druge i kodiranje stranice.

PHP funkcije za rad sa regularnim izrazima

Regularni izrazi za PHP predstavljaju niz znakova snimljen na određeni način. Obično, po analogiji s drugim programskim jezicima, oni su zapisani u simbole "/" ... "/" i stavio u navodnike, možete koristiti jedan ili dva u zavisnosti od algoritma.

Osnovna funkcija php preg utakmica regularne izraze koristi i obrazac utakmica i zaustavlja se na prvoj lokaciji, a njihovi varijanta sa sufiksom _all pronalazi sve utakmice, a izlazi niz istih. Funkcija preg zamijeniti zamjenjuje svaki meč predložak, to može raditi sa nizovima, omogućavajući pretraživanje dizajn i izvršiti zamjenu različitih opcija.

Zanimljiv opcije za rad sa regularnim izrazima mogu razviti koristeći preg_replace_callback funkciju koja ne uzima u zamjenu teksta, kao i ime funkcije, koji će izvršiti takvu zamjenu. Pored praktične vrijednosti možete implementirati mehanizme provjeriti uzorak, da je razvoj i ispravljanje pogrešaka u posljednjih igra značajnu ulogu.

Obim regularnih izraza

Od hipertekst jezici su formalizirane informacija u većoj mjeri oni su početni materijal. Razvijen je veliki broj predložaka i dizajn koji omogućavaju efikasno obraditi velike količine podataka. Značajan dio ovog posla obavlja mehanizmi ugrađeni u raznim sadržaj sisteme za upravljanje (CMS).

Nije iznenađujuće, mnogi CMS postao de facto standard za gradilišta, i biti u pratnji (ažurirano) softverske kompanije, nisu se da je neophodno da se izvrši razvoj obrazaca na vlastitu. Međutim, izvan takvih sistema imaju iskustva sa regularnim izrazima je vrlo korisna.

Regularne izraze i prave informacije

Važno područje primjene regularnih izraza u PHP biblioteka formirana pojavom PHPOffice. Rad sa dokumentima, tabele, i uvek je imao važan i OOXML standard je moguće ne samo da demontira stvarnim dokumentima, ali i da oblikuju svoj program.

Zahvaljujući razvoju hiperteksta i PHP jezika posebno, postoji realna mogućnost da se automatizirati "proizvodnju" dokumenata "standardni obrazac", na primjer, fakture za plaćanje, izvještaji, poslovni planovi, kao i druge informacije objektima, struktura i sadržaj su zapravo podložni formalizacije i automatizacije.

U vezi sa aplikacijom za opisivanje procesa razvoja jezika OOXML regularnih izraza je sasvim drugačiji od tradicionalnog radnog sa markup jezika HTML i CSS na prvom mjestu. Stvarni dokument, osim obilježavanja i pored stvarni sadržaj ima dosta detalja. Na primjer, dokument koji je automatski kreirao program, imati jak i precizan sadržaj. formirana dokument ili osobe tretirane, imati sadržaj, prefarban pluralitet oznaka. Svaki rad s dokumentom dovodi do toga da je semantika može biti, ali obojana u različitim iznosima na različitim dizajnima.

Prirodne informacije i situacija

Osoba uvijek zainteresirani za rješenje problema, koji je postavio informacije i, kao rezultat toga, ista informacija će se dati. Predstavljajući izjavu problem u obliku dokumenta, osoba dobije određenu semantike, koja je u specifikaciji stručnjaka (izmjena, raščišćavanje teksta, brisanje, uređivanje) ne samo da dovodi do više verzija dokumenta, ali i svoje verzije sa različitim sadržajem.

Konkretno, zadatak je postavio izraz "Riješite trg uranenie" nakon uređivanja će izgledati ovako: ". Da bi riješiti kvadratnu jednadžbu" Ako je fiksna na početku prve pogreške, a zatim i drugi, onda je prirodno informacije u stilu OOXML bi mogao biti: "[riješeno] [] [trg] [e] [] [cheers] [b] [nenie]", ali to ne garantuje da je to zadatak će se pojaviti u tagove OOXML (zagradama oponašati zagradama tagova).

Sastaviti informacije mogu biti lako nakon svakog zadatka proces uređivanja, ali svaki put ovaj postupak će se izvršiti od strane raznih algoritama. Regularnih izraza, kao neka vrsta alata formalizacije problema informacije su postali, u stvari, pješačke staze od formalne strukture hiperteksta na prirodnu informacije.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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