Computers, Programming
Expressions regulare (PHP). PHP: expressioni regulare, esempi
How grande è diversi mondu di infurmazione, cum'è subitu, si expands è sviluppa. Ogni decisione - solu un puntu à u prucessu di u megliu di u muvimentu. Cunniscenza è spirienza, permettenu di capisce u prucessu di jùnciri la mira, ma mai - ùn lu risultatu di i so successi. Hè doubtful ch'omu pò parlà in u foreseeable 'avvene u risultatu, ma hè impurtante chì u prucessu di striving per ghjè un prucessu impurtante è essendu nicissariu.
"San Francisco, è / o un saccu di sordi" ùn crià un algutitimu capaci di chì, è di sicuru "senza" omu parla, in particulare quand'ellu ùn pensu ciò ch'ellu facia. In ogni situazioni u prublema infurmazione hà almenu unu picu orbu, ma per ellu, di sòlitu l 'istante, macchie altri puri sò visibili, è micca periculu ch'elli sò tutti i fiori bianchi.
tecnulugia Internet hè pratica u accessu à nantu à u corsu, ma i quistioni hè - come si mette nantu avè u Bramati - Ùn pratica, è acquistatu nova "vulume" di u travagliu. E puru siddu PHP sprissioni rigulari difettu hè chjaramente micca tutti, ch'elli sò un passu impurtante avanti.
funzioni Simple + algutitimu = mudellu
Uffrennu sprissioni rigulari, PHP algutitimu ridottu sviluppa u cuntenutu sanu sanu, ma i alguritmi e funzioni di ricerca / sustituiri e trasfurmazioni di solitu ùn truvò persu a so impurtanza. New idee ùn portend la rivuluzzioni infurmazione. U più chì si pò spetta - codice fundute è cresce u documentaliste i mezi à formulate currettamente una quistione di ricerca.
You deve cunnosce è dumandà à PHP sprissioni rigulari. Esempii cunvinciri e vere. Ma si avissi a dari lu rapportu chi cu l 'avventu di un novu mutore di ricerca, u centru di seriu si jìu a lu mudellu - un tipu di miccanisimu, ancu s'è in fatti sustituitu da un gruppu di simprici e funzioni di ricerca, e cundizioni, ciclu, è altre uperatori.
hannu:
- qualità è strumentu mudernu - hè bè;
- vede e aduprà i mistieri di culleghi hè l 'àutru;
- cumminari realtà è 'idea Virtual - una guaranzia di a riescita.
Jùnciri a cunniscenza di quantu era necessaria à capisce u prublemu, à scioglie lu, hè à spessu più impurtante chè u risultatu specifichi.
Sprissioni Regular in PHP, sò raprisintati da un numaru di e funzioni in a sintassa lingua è assai di li siquenti sunnu asempî interessante nantu à u internet. A causa di sintassa ozzione dumanda specifichi hè limitatu solu da i pinsamenti di u documentaliste, ma sleuet tene à mente chì micca tutti i mudelli vi u travagliu. Cù a cunvalidazione PHP di sprissioni rigulari hè di primura.
caratteru di ricerca Simple (catena)
Stamp - sta ùn hè micca sempre una sola byte, è hè à spessu un simbulu, cum'è un boiu, hà un significatu pricisu à Campu Tondu. Cudificazione specifies i caratteri visibili in lu codice un'antra manera. U simbulu pò avè parechje opzioni: "$" = "USD" = "USD", ... - hè u sensu esattu di chì sicuru qualcosa, ma ùn anu vicinu, a causa di la muneta. Perciò, u sensu esattu pò trovani in PHP variàbbili, chì cumencia sempre cù u caratteru "$", ma ùn si principia cù "USD" è "USD".
U simbulu di u prugrammu pò esse un nomu funzione (catena) in u cuntestu di: ricunnosce e rializzari - qualle da l 'uggettu-orientatu prugrammazione dinamica, quandu a struttura, e funzioni, PHP rigulari sprissioni sunnu usati direttamente di rende e decisioni. Trovu lu sìmmulu "turni", chi hè, da iddu stissu definisce ciò à fà in u locu duve si trova, è lu modu hè, "iddu deems" nicissariu.
Search per un caratteru / linia - micca una sèmplice teacher tali, è u più infurmazioni, u clearer u megliu. U Populu ùn hè micca sempre vole à truvà i dece più in prezzi food, sceglie diliziosu ricetti, torta anniversariu, o di a darà la custruzzioni di i falzi tettu.
À spessu hè necessaria à ottimisazione di u alguritmi sèmplice ùn sò simplici infurmazione Aritmetica, o in e cundizioni difficiule, quandu u caratteru chjamà à sceglie da una basa di dati, è i ligna à cuali hè necessaria à truvà - un centu di i siti. U prezzu hè uguali à sceglie un caratteru da u tempu a basa di dati campionu, è u prezzu di induve a taliari - tempu di ricerca cintunari noti di i siti.
simbulu Lone - hè ùn hè micca una frasa, è micca un pocu di esempio, si pudia esse partutu è esse cum'è picculi comu àutri. How to darà ciò chì fù trovu hè l 'àutri?
Esempiu: search for price
Just truvà u simbulu u testu "$" - un pocu. Cuntrolla ca si faces, un numaru, hè ùn hè micca abbastanza sempre. Sè tu scegli un puntu, o numeru nanzu lu sìmmulu "$" hè un puntu chì i prezzi à quali li sìmmuli monetario sò nanzu ùn esse pigliatu in contu. Ci sò dinù sà u prezzu, chì in generale ùn hè renseigné muneta, ma nantu à a pagina hè u instructions, esplicitu.
In generali, a suluzione di u prublemu in i tempi un cinquinu inflate cavallieri algutitimu ricunniscenza è tempu-cunsumanu. Intantu, cù un 'esprissioni rigulari, u numeru di PHP vi truvà senza difficultà.
$ CContents = preg_match_all ( "/ [0-9] + ([\ $] | USD | Y \ £ \ | tau) {1} / i.";
"Eccu e-mail - 2usd;
";
«Truvà e-mail - 2u.e;
.";
"E-mail Work - ue2;
";
"Vedi e-mail - $ 13", $ aResult);
. '; '. implode ( ',', $ aResult [0]). '
'.
Vi risponde: "2; 2usd, 2u.e.", ma ùn hà trovu qualcosa in i ligna: "cuntrolla e-mail - $ 13"
Pensa di a prisenza di u fasciu in fronte o daretu à u caratteru, vi pò ghjunghje a riescita subitu in più casi.
$ CContents = preg_match_all ( "/ ([0-9] + ([\ $] | USD | Y \ £ \ |. UE) {1}) | (([$] | USD | Y \ £ \. | tau) {1} [0-9] +) / i ";
"Eccu e-mail - 2usd;
";
«Truvà e-mail - 2u.e;
.";
"E-mail Work - ue2;
";
"Vedi e-mail - $ 13", $ aResult);
. '; '. implode ( ',', $ aResult [0]). '
'.
Risultati: "4; 2usd, 2u.e., ue2, $ 13"
About lòggica unintended
Regular pruponi Sprissioni PHP, oltri arnesi, ma ùn hè micca necessariu di dumandà li, secondu a so regule o di aduprà altre funzioni furnì manera funetica cassa.
Pussibili nanzu u principiu di a ricerca nicissarii à avvià a partita, è u locu induve noi circà, ruttu falà in cumpunenti secondu criterii in avanzu. Ghjustu un coppiu di Recado () è implode () à spessu simplifies è acceleratu u decisione.
Per esempiu, comu nu risultatu di u travagliu travaddi furmata una partita di catene (dati) in u quartieru di quanti, patate racolta tutti i paesi: Unknown ImyaDerevnya è vulume racolta, è s'è u paese si sbucina parechji impresi, in una partita di filu hè ImyaDerevnya.ImyaPredpriyatie è valore à "; " è tantu nant'à tutte e mprisi. Calculari lu quantità tutale racolta in stu casu, ùn hà da esse pussibule, ma sè vo ùn impode ( ";", $ aResult), hà da esse una ligna longa, in cui lu paru - ImyaDerevnya / ImyaDerevnya.ImyaPredpriyatie - una cullizzioni di grannizza - sarà spustatu attraversu l ";". Fà un riversu à l 'isciuta, Recado ( ";", $ aResult) - na partita di tuttu, chì piglia è cumu hè racolta, è po da toglie u solcu da tutti i caratteri non-numeric, avemu solu numari, la summa dî quali hè u vulume tutali di racolta.
In issu esempiu, i sprissioni di modu regulare à PHP ùn permette à circà troppu assai, si sò strattu faciuli è Cosi i valori numericu àutri. Quickly è intensivi, ùn cambia quantu longa si pò esse i nomi di i paesi e imprese. Sta suluzione ùn hè micca parfettu, ma si mostra chi nun sempre seguitate i reguli di parmu. Hè spessu pussibule di ghjunghje ne à u bramatu in una manera sfarente.
Abstracting da u latu tecnicu, u preferitu
A funetica di u algutitimu ùn dì quantu pari in a rialità. Tuttavia, pensa u listessu ondes di a pagina, è fili scrittura (chì hè circava in u quali l imagine) pò corpu in u prublemu hè u so aspettu tecnicu.
Unu tocca micca solu di sapè cum'elli a circà, ma induve a fallu, quandu, how much, ciò chì a canciari e pasta. Furmalmenti PHP sprissioni rigulari prucessu comu un miccanisimu cumpleta piena-statu di a so, ma per parechje raghjone, u realisazione di u so contraparti in parechje lingue sfarente. Comu regula ginirali, davanti à voi spustà un particulare mudellu in u particulare ambienti strumentu per un compitu spécifique, hè necessaria à purtà fora adattazione in high-quality, cuntrolla di tuttu lu possibili ozzione per i dati surgente.
Ancu s'è vo aduprà u vostru sò espirienza di sviluppà à PHP, sprissioni rigulari, li siquenti sunnu asempî, mudelli e cuncezzione hè primurosu di ora lìmita. Dynamically cambiendu u funziunalitati, lingua, funetica è Runtime.
A struttura è cuntenutu di un mudellu
Cosa hè digià scrittu in la forma di na cumminazzioni di e funzioni di ricerca, INCARCATURA, opérations sustituiri, job, sguassà, hè una catena di caràtteri, secondu à certi reguli - rigulari mudellu sprissioni. In fatti, una quantità impurtante hè cudificatu in una certa manera, è faete da regule specifiche.
Cum'è hè impussibile à fà un operatore lingua debugging, ùn vi ponu più leghjitoghji un mudellu sprissioni rigulari, stu prucessu pò riguri solu. Comu regula ginirali aduttatu versione: òpiri - ùn travagliu. A funetica hè assai sèmplice, ancu s'è a so pircizzioni, in particulare in u principiu, hè assai difficiule.
Un esempiu di un sèmplice sprissioni
In una sèmplice embodiment, u mudellu ripiglia a catena:
$ CContents = preg_match ( "/ asdf / i", "asdf", $ aResult). '; '. implode ( ',', $ aResult).
U risultatu hà da esse "1; asdf", postu chì a funzione completes u so funziunamentu à u prima scontra un mudellu BILINGUE. U risultatu serà u listessu, se no duvimu a linia "aaaasdf" in ligna "zzzasdfvvv". Sè vo specificà u prima è / o di noms de caratteru, u risultatu saria chjaru:
$ CContents = preg_match ( "/ ^ asdf / i", "asdf", $ aResult). '; '. implode ( ',', $ aResult). '
';
$ CContents. = Preg_match ( "/ asdf $ /", "asdf", $ aResult). '; '. implode ( ',', $ aResult). '
'.
U risultatu hà da esse: 1; asdf1; asdf.
I simboli "*" è "$" ìnnica induve a principiatu è u mudellu finisci. Risultatu funzione preg_match - u numeru di cirina, ma pò esse 0, 1, o di e parolle, s'ellu hè radiufonichi un errore. U terzu sottu - una partita - serbit solu trovu elementu. In u casu di usu funzione preg_match_all () ricerca cuntinua a linia fine.
$ CContents = preg_match ( "/ asdf / i", "asdf123asdf456asdf789", $ aResult). '; '. implode ( ',', $ aResult). '
';
$ CContents. = Preg_match_all ( "/ asdf / i", "asdf123asdf456asdf789", $ aResult). '; '. implode ( ',', $ aResult [0]). '
'.
risultati:
1; asdf
3; asdf, asdf, asdf.
Sè vo ùn aduprà instructions, particulari, ogni caratteru stessa è u so locu definisce, a priscinniri di l 'linguistic linia è scrittura mudellu. L'editore ci vole assicurà chì i ondes di issi elementi era currettu in rilazioni a iddi e ondes pagina.
e funzioni PHP di travaglià incù sprissioni rigulari
sprissioni Regular di PHP, rapprisèntanu una catena caratteru arregistrata in un certu modu. Di solitu, da omu cù altre lingue di prugrammazione, si sò scritti in i simboli "/" ... "/" è misu a Obed quotation, pudete puru aduprà sola o doppia sicondu u algutitimu.
U principale funzione PHP preg incontru sprissioni rigulari usa tutti dui incontru mudellu è ferma lu à u primu locu, una varianti cum'è cù un _campagna suffissu trova tutti i cirina, è outputs u panoplia territòriu. preg funzione sustituiri Jè ogni truvatu un mudellu, ùn ponu travaglià cun Linguastat, falli disignu di ricerca è di fà sustituiri di una varietà di scelte.
ozzione Interesting per travaglià cun sprissioni rigulari si pò sviluppatu cù funzione preg_replace_callback chi pigghia ùn testu sustituiri, è lu nomu di la funzione, chi vi portanu fora 'na tali sustituiri. In agghiunta a lu valuri di vita vi pò azzione miccanismi cuntrolla mudellu, chì u sviluppu di e debugging di l 'ultimu ghjoca un rolu impurtante.
Duminiu di sprissioni rigulari
Dapoi lingue leie sò furmalizza infurmazioni à un puntu cchiù granni sunnu lu matiriali in sù. Sviluppatu una grande numaru di mudelli, è disegni chì permette di trattà a grande quantità di dati intensivi. A parte significativa di stu travagliu hè tutu miccanismi custruitu in parechji sistemi établissement cuntenutu (CMS).
Ùn hè, tanti CMS divintatu de facto norme di i siti costruzzioni, è ghjera accumpagnatu da i impresi (Corse) prugrammu, è ùn fà u necessariu à purtà fora u sviluppu di essayer in u so propriu. Tuttavia, fora di sti sistemi hannu spirienza cu sprissioni rigulari hè assai interessante.
sprissioni Regular è l 'infurmazione vera
Un spaziu impurtanti di dumanda di sprissioni rigulari in Biblioteche PHP furmò lu PHPOffice avventu. U travagliu cù i ducumenti, Spreadsheets, è hà sempre avutu impurtanti è mudellu OOXML hè pussibili micca solu à dismantle i ducumenti veri, ma dinù à appruntà u so prugramma.
Grazie à u sviluppu di e leie è PHP lingue in particulare, ci hè una vera pussibilità di automate l ' "pruduzzione" di i ducumenti "forma standard?", Per esempiu, invoices di pagamentu, raporti, piani los, e àutri uggetti infurmazioni, a struttura di u cuntenutu sanu sanu sò intreccia amenable à formalization è plantes.
In cunnessione incù l 'applicazzioni pi discrìviri lu prucessu di sviluppu lingua OOXML di sprissioni rigulari è arquantu differente da u funziunamentu tradiziunali cù lingue Sign HTML è CSS in u primu postu. U documentu attuale, francu dilimitatu è in più di u cuntenutu prucedura hà assai di li dittagli. Per esempiu, un documentu chi fù creatu in autumàticu da u prugrammu, vi hannu un cuntenutu forti è precisa. Document furmatu o di l 'omu, cotti, vi hannu un cuntenutu, vinni rializzatu supra una pluralità di e balise. Ogni travagliu cù u ducumentu cunduce à u fattu chì u straniere di lu pò esse unu, ma dipinto in differente quantità nantu differente disegni.
infurmazione Natural e situazione
A persona sempre interested in a suluzione di u prublemu, chì hà missi infurmazioni è, cum'è un risultatu, serà datu u listessu nantu à u corsu. Prisenta l 'affirmazioni di i prublema in forma di un ducumentu, na pirsuna si nu spicìficu straniere, chì hè in u spicifichi di sperti (penalità, clarifying wording, sguassate puru, mudificà) micca solu custì a multiplicità di e versioni di un documentu, ma dinù à u so versioni cun cuntenutu sfarenti.
In particulare, u compitu stabilitu da u frasa "Mettez uranenie piazza", dopu scrittura hà da circà like this: "To scioglie una iquazzioni quadratic." Sè a prima la prima errore hè statu fermu, è po a siconda, allura l 'infurmazione naturale in stile OOXML putissi taliari, comu: "[solving] [] [piazza] [E] [] [ralegra] [B] [nenie]", ma issu non faci garantiri chi sta hè Cumpariscerà u compitu à l 'OOXML balise (mènzuli riguri mènzuli balise).
A mintiri assemi a infurmazione pò esse facili, dopu ognunu compitu lu prucessu di scrittura, ma ogni vota sta prucedura vi effettuà da parechji alguritmi. sprissioni Regular, cum'è una sorta di strumentu di formalization di prublemi infurmazione sò divintatu, in effettu, camminare chjassi da i strutturi furmali di leie à l 'infurmazione naturale.
Similar articles
Trending Now