KompjutersIpprogrammar

Espressjoni regolari (PHP). PHP: Espressjonijiet regolari eżempji

Kemm hu kbir u fid-dinja diversa ta 'informazzjoni, daqstant malajr, hija tespandi u tiżviluppa. Kwalunkwe deċiżjoni - biss punt fil-proċess ġenerali ta 'moviment. Għarfien u esperjenza jagħmluha possibbli li wieħed jifhem il-proċess tal-kisba l-għan, iżda qatt - mhux ir-riżultat tal-kisbiet tiegħu. Huwa dubjuż li nistgħu nitkellmu fil-futur prevedibbli fuq ir-riżultat, iżda huwa importanti li l-proċess ta 'ħidma għal dan huwa proċess sinifikanti u oġġettivament meħtieġa.

"Xewqa u / jew lott ta 'flus" ma joħloqx algoritmu kapaċi li, u naturalment "ħielsa" bniedem ma, speċjalment meta huwa ma jaħsbu dwar dak li kien isir. Fi kwalunkwe sitwazzjoni l-problema informazzjoni għandha post mill-inqas wieħed għomja, iżda għalih, normalment immedjatament, tbajja oħrajn nodfa huma viżibbli, u mhux neċessarjament li dawn huma fjuri bojod kollha.

teknoloġija l-Internet issimplifika l-aċċess għall-informazzjoni, iżda l-kwistjoni hija - kif titfa fuq li l-mixtieqa - mhux simplifikati, u akkwistati ġodda "volum" ta 'xogħol. U għalkemm PHP espressjoni regolari qabża hija b'mod ċar mhux eżawriti, huma pass sinifikanti 'l quddiem.

funzjonijiet sempliċi + algoritmu = mudell

Offerta espressjonijiet regolari, PHP algoritmu inaqqas b'mod sinifikanti l-kontenut, iżda l-funzjonijiet tat-tiftix / ta 'sostituzzjoni u ta' pproċessar algoritmi soltu jinstab li ma tilfet l-importanza tagħhom. Ideat ġodda ma portend-rivoluzzjoni informazzjoni. L-aktar li tista 'tkun mistennija - kodiċi kompatti u jżidu l-iżviluppatur l-abbiltà li jifformulaw tfittxija query korrett.

Għandek tkun taf u japplikaw fuq PHP espressjonijiet regolari. Eżempji konvinċenti u effettivi. Iżda dan għandu jagħti r-rapport li mal-miġja ta 'search engine ġdid, iċ-ċentru tal-gravità tinbidel għall-mudell - tip ta' mekkaniżmu, għalkemm fil-fatt mibdula b'sett ta 'funzjonijiet sempliċi tfittxija, kondizzjonijiet, loops, u operaturi oħra.

għandhom:

  • kwalità u għodda moderna - huwa tajjeb;
  • tara u tuża l-esperjenza tal-kollegi huwa l-kwistjoni;
  • jikkombinaw realtà u l-idea virtwali - garanzija ta 'suċċess.

Il-kisba għarfien ta 'kif kien meħtieġ li jifhmu l-problema, biex issolviha, huwa spiss aktar importanti mill-riżultat speċifiku.

Espressjonijiet regolari PHP huma rappreżentati minn numru ta 'funzjonijiet fil-sintassi tal-lingwa u ħafna eżempji siewja fuq l-Internet. Minħabba sintassi għażliet speċifiċi ta 'applikazzjonijiet huma limitati biss mill-immaġinazzjoni tal-iżviluppatur, iżda sleuet jżomm f'moħħu li mhux kollha tal-mudelli se taħdem. Bl-użu validazzjoni PHP ta 'espressjonijiet regolari hija essenzjali.

tfittxija karattru Sempliċi (sekwenza)

Simbolu - dan mhux dejjem byte wieħed, u huwa spiss simbolu, bħala ċippa, għandha tifsira preċiża flimkien. Kodifikazzjoni tispeċifika l- karattri li jidhru fil-kodiċi differenti. Is-simbolu jista 'jkollhom diversi għażliet: "$" = "USD" = "USD", ... - huwa l-tifsira eżatta ta' li xi ħaġa x'imkien, imma mhux neċessarjament viċin, minħabba l-munita. Madankollu, it-tifsira eżatta jista 'jsir fil-PHP varjabbli, li dejjem jibda bil-karattru "$", iżda ma jistax jibda bi "USD" u "USD".

Is-simbolu tal-programm jista 'jkun isem funzjoni (sekwenza) fil-kuntest tal-: jirrikonoxxi u jissodisfa - huwa mill-oġġett orjentati lejn dinamiku programmazzjoni, meta l-istruttura, il-funzjonijiet, espressjonijiet PHP regolari huma użati direttament sabiex jittieħdu deċiżjonijiet. Misjuba l-simbolu "dawriet", jiġifieri, minnu nnifsu jiddetermina x'għandu jsir fil-post fejn jinstab, u l-mod huwa, "jidhirlu" meħtieġa.

Fittex għal karattru / linja - mhux tali eżerċizzju sempliċi, u l-aktar informazzjoni, aktar ma tkun ċara l-aħjar. Mhuwiex dejjem meħtieġ biex isibu l-għaxar aqwa fil-prezzijiet tal-ikel, jagħżlu riċetti Delicious kejk, jew biex tiddetermina l-kuntrattur għall-suffett.

Spiss huwa meħtieġ biex jottimizzaw l-algoriżmi sempliċi mhumiex informazzjoni aritmetika sempliċi jew f'kundizzjonijiet diffiċli, meta l-karattru mixtieq li jagħżlu minn database, u l-linja li fih ikun meħtieġ li jinstab - mitt siti. Il-prezz huwa ugwali għal tagħżel karattru minn meta l-database kampjun, u l-prezz ta 'fejn tfittex - ħin tiftix mijiet notorji ta' siti.

simbolu waħedhom - mhuwiex frażi, u mhux ftit sentenzi, huwa jista 'jkun kullimkien u jkun żgħir kemm mixtieq. Kif ikun determinat dak li nstab huwa l-mixtieqa?

Eżempju: tiftix għall-prezzijiet

Biss issib it-test "$" simbolu - ftit. Iċċekkja li tiffaċċja numru, mhuwiex dejjem biżżejjed. Jekk inti tipprovdi punt jew numru qabel is-simbolu "$" hija garanzija li l-prezzijiet li bihom is-simboli monetarji jeżistu quddiemna mhux se jiġu kkunsidrati. Hemm ukoll jitħallew barra l-prezz, li ġeneralment ma jkunx speċifikat munita, iżda fuq il-paġna huwa fuq l-istruzzjonijiet espliċiti.

B'mod ġenerali, is-soluzzjoni tal-problema bil-mod tas-soltu jintefħu lil hinn algoritmu rikonoxximent u jikkunsmaw ħin. Sadanittant, permezz ta 'espressjoni regolari, in-numru ta' PHP se ssib l-ebda problemi.

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

"Ħares e-mail - 2usd;
";
"Sib l-email - 2u.e;
.";
"Xogħol e-mail - ue2;
";
"Iċċekkja l-email - $ 13", $ aresult);
. "; ". implode ( ",", $ aresult [0]). "
".

Se twieġeb: "2; 2usd, 2u.e.", Imma ma jsibu xejn fil-linja: "check email - $ 13."

Li jipprovdi għall-preżenza tal-mudell quddiem jew wara l-karattru, inti tista 'tikseb suċċess malajr f'ħafna każijiet.

$ CContents = preg_match_all ( "/ ([0-9] + ([\ $] | USD | y \ £ \ |. Ue) {1}) | (([$] | USD | y \ £ \. | ue) {1} [0-9] +) / i ";
"Ħares e-mail - 2usd;
";
"Sib l-email - 2u.e;
.";
"Xogħol e-mail - ue2;
";
"Iċċekkja l-email - $ 13", $ aresult);
. "; ". implode ( ",", $ aresult [0]). "
".

Riżultat: "4; 2usd, 2u.e., ue2, $ 13."

Dwar loġika mhux intenzjonat

Regolari offerti Espressjonijiet PHP, kif ukoll għodod oħrajn, iżda mhuwiex meħtieġ li japplikawhom skont ir-regoli jew l-użu funzjonijiet oħra pprovduti mod sintassi zghar.

Possibbli qabel il-bidu tat-tfittxija meħtieġa biex inbiddlu l-firxa, u l-post fejn aħna tfittxija, imqassma f'komponenti skond kriterji minn qabel. Biss ftit jisplodu () u implode () spiss tissimplifika u tħaffef id-deċiżjoni.

Per eżempju, bħala riżultat ta 'xogħlijiet ta' tħejjija ffurmati firxa ta 'spag (data) fid-distrett dwar kif ħafna patata miġbura f'kull raħal: Mhux magħruf ImyaDerevnya u l-volum miġbur, u jekk il-pajjiż runs diversi kumpaniji fil-firxa ta' spag huwa ImyaDerevnya.ImyaPredpriyatie u l-valur permezz ta ' "; " u l-bqija impriżi kollha. Ikkalkula l-ammont totali miġbur f'dan il-każ mhux se jkun possibbli, imma jekk inti tagħmel impode ( "", $ aresult), se jkun linja waħda twila, fejn il-par - ImyaDerevnya / ImyaDerevnya.ImyaPredpriyatie - kollezzjoni ta 'daqs - se jiġu trasferiti permezz tal- ";". Do reverse fuq il jirriżulta, jisplodu ( "", $ aresult) - firxa ta 'kollox, li tinġabar u kif għandha tinġabar, u mbagħad billi jitneħħew l-linji mill-karattri kollha mhux numeriċi, għandna numri biss, is-somma ta' liema huwa l-volum totali miġbur.

F'dan l-eżempju, l-espressjoni regolari fil-PHP jippermettu li ma tfittex wisq, huma faċli u aċċessibbli estratt l-valuri numeriċi mixtieqa. Malajr u b'mod effiċjenti, iddum kemm iddum jista 'jkun l-ismijiet tal-irħula u n-negozji. Din is-soluzzjoni ma tkunx ideali, iżda juri li mhux dejjem isegwu r-regoli għandu jkun. spiss huwa possibbli li jinkiseb il-mixtieqa b'mod mhux tas-soltu.

Abstracting mill-aspett tekniku, il-kodifikazzjoni

Is-sintassi ta 'l-algoritmu ma jgħidx kif jidher fir-realtà. Madankollu, li jipprovdi l-istess kodifikazzjoni tal-paġna, u ringieli iskrittura (fejn tintalab li fihom l-immaġini) jistgħu plunge fl-problema hija aspetti tekniċi tagħha.

Wieħed irid mhux biss jaf x'għandu jfittex għal, iżda meta jekk jagħmlu dan, meta, kemm, liema għall-bidla u kif. Formalment PHP espressjonijiet regolari eżegwiti bħala mekkaniżmu full-dehru sħiħa tagħha stess, iżda għal ħafna raġunijiet, ir-realizzazzjoni tal-kontropartijiet tagħha f'ħafna lingwi differenti. Bħala regola ġenerali, qabel ma inti timxi mudell partikolari f'ambjent għodda partikolari għal kompitu speċifiku, huwa meħtieġ li jitwettqu adattament ta 'kwalità għolja, verifika għall-għażliet kollha possibbli għad-data tas-sors.

Anke jekk inti tuża l-esperjenza tiegħek stess li qed jiżviluppaw fil-PHP, espressjonijiet regolari, eżempji, mudelli u d-disinn teħtieġ kontroll bir-reqqa. Dinamiku jinbidlu l-funzjonalità lingwa, sintassi u runtime.

L-istruttura u l-kontenut ta 'mudell

Dak li kien preċedentement miktub fil-forma ta 'taħlita ta' funzjonijiet ta 'tfittxija, conditionals, operazzjonijiet ta' bdil, daħħal, tħassar, hija sekwenza ta 'karattri skond ċerti regoli - regolari espressjoni mudell. Fil-fatt, ammont sinifikanti hija kodifikata b'ċertu mod u esegwiti minn regoli speċifiċi.

Hekk kif huwa impossibbli li jsir kull operatur lingwa debugging, inti ma tistax debug espressjoni xejra regolari, dan il-proċess jista 'biss emulazzjoni. Bħala regola ġenerali adottata verżjoni: xogħlijiet - ma taħdimx. Is-sintassi hija sempliċi ħafna, għalkemm perċezzjoni tiegħu, speċjalment fil-bidu, huwa diffiċli ħafna.

Eżempju ta 'espressjoni sempliċi

Fi inkarnazzjoni sempliċi, il-mudell jaqbel mal-sekwenza:

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

Ir-riżultat se jkun "1; asdf", peress li l-funzjoni tikkompleta l-operat tagħha fl-ewwel sodisfatti template tqabbil. Ir-riżultat se jkun l-istess, jekk inħarsu lejn linja "aaaasdf" konformi "zzzasdfvvv". Jekk inti tispeċifika l-ewwel u / jew l-aħħar karattru, ir-riżultat ikun ċar:

$ CContents = preg_match ( "/ ^ asdf / i", "asdf", $ aresult). "; ". implode ( ",", $ aresult). "
";
$ CContents. = Preg_match ( "/ $ asdf /", "asdf", $ aresult). "; ". implode ( ",", $ aresult). "
".

Ir-riżultat se jkun: 1; asdf1; asdf.

Is-simboli "*" u "$" jindika fejn tibda u l-mudell jispiċċa. Riżultat funzjoni preg_match - in-numru ta 'logħbiet, jista' jkun 0, 1, jew falza, jekk jinstab żball. It-tielet għażla - firxa - imqiegħed uniku element misjuba. Fil-każ ta 'użu funzjoni preg_match_all () tfittxija tkompli l-linja finali.

$ CContents = preg_match ( "/ asdf / i", "asdf123asdf456asdf789", $ aresult). "; ". implode ( ",", $ aresult). "
";
$ CContents. = Preg_match_all ( "/ asdf / i", "asdf123asdf456asdf789", $ aresult). "; ". implode ( ",", $ aresult [0]). "
".

riżultat:

1; asdf
3; asdf, asdf, asdf.

Jekk inti ma jużawx struzzjonijiet speċjali, kull karattru tiddefinixxi ruħha u postu, irrispettivament mill-kodifikazzjoni linja u kodifikazzjoni mudell. L-programmer għandu jiżgura li l-kodifikazzjoni ta 'dawn l-elementi kienu korretti fir-rigward ta' kull paġna xulxin u ta 'kodifikazzjoni.

funzjonijiet PHP għal xogħol bl-espressjonijiet regolari

espressjonijiet regolari għal PHP jirrappreżentaw sekwenza ta 'karattri rreġistrati b'ċertu mod. Normalment, b'analoġija mal-lingwi oħra ta 'programmazzjoni, huma miktuba fil-simboli "/" ... "/" u mqiegħda fil virgoletti, inti tista' tuża wieħed jew doppju skond il-algoritmu.

Il-funzjoni PHP preg logħba prinċipali espressjonijiet regolari juża kemm mudell tal-logħba u waqfiet fl-ewwel post, varjant tiegħu ma '_all suffiss isib logħbiet kollha, u outputs l-array dan. preg Funzjoni jissostitwixxu jissostitwixxi kull logħba template, din tista 'taħdem ma' arrays, li jippermetti disinn tfittxija u jwettaq tibdil ta 'varjetà ta' għażliet.

jistgħu jiġu żviluppati għażliet interessanti għal xogħol bl-espressjonijiet regolari tuża funzjoni preg_replace_callback li jieħu l-ebda test sostitut, u l-isem tal-funzjoni, li se twettaq tali sostituzzjoni. Minbarra l-valur prattiku inti tista 'timplimenta mekkaniżmi tiċċekkja mudell, li l-iżvilupp u l debugging tal-aħħar għandu rwol sinifikanti.

Ambitu ta 'espressjonijiet regolari

Peress lingwi Portugues huma formalizzati informazzjoni b'mod aktar estensiv huma l-materjal tal-bidu. Żviluppat numru kbir ta 'mudelli u disinji li jippermettu li jipproċessaw ammonti kbar ta' data b'mod effiċjenti. A porzjon sinifikanti ta 'dan ix-xogħol isir mekkaniżmi mibnija fis-sistemi varji ta' ġestjoni kontenut (CMS).

Mhux ta 'b'xejn, ħafna CMS isiru standards de facto għal siti tal-bini, u jkunu akkumpanjati mir-kumpaniji (updated) software, huma ma jagħmluha neċessarja biex iwettqu l-iżvilupp ta' mudelli fuq tagħha stess. Madankollu, barra ta 'tali sistemi għandhom esperjenza ma' espressjonijiet regolari huwa utli ħafna.

espressjonijiet regolari u l-informazzjoni reali

Qasam importanti ta 'applikazzjoni ta' espressjonijiet regolari fil-libreriji PHP ffurmaw il-PHPOffice miġja. Xogħol ma 'dokumenti, spreadsheets, u dejjem kellu importanti u l-istandard OOXML huwa possibbli mhux biss biex iżarma-dokumenti attwali, iżda wkoll għall-forma programm tagħhom.

Grazzi għall-iżvilupp ta 'Portugues u PHP lingwi b'mod partikolari, hemm opportunità reali biex awtomazzjoni "produzzjoni" ta' dokumenti "formola standard", per eżempju, fatturi għall-ħlas, rapporti, pjanijiet ta 'negozju, u oġġetti oħra ta' informazzjoni, l-istruttura u l-kontenut huma attwalment soġġetti għall-formalizzazzjoni u l-awtomazzjoni.

B'konnessjoni ma 'l-applikazzjoni biex jiddeskrivu l-proċess ta' żvilupp OOXML lingwa tal espressjonijiet regolari huwa pjuttost differenti mill-ħidma tradizzjonali mal-lingwi Markup HTML u CSS fl-ewwel post. Id-dokument attwali, ħlief immarkar u minbarra l-kontenut attwali għandha ħafna ta 'dettalji. Per eżempju, dokument li nħolqot awtomatikament mill-programm, ser ikollha kontenut qawwija u preċiża. Dokument ffurmati jew il-persuna trattata, ser ikollha kontenut, kienet miżbugħa fuq pluralità ta 'tikketti. Kull xogħol mad-dokument twassal għall-fatt li l-semantika ta 'dan jista' jkun wieħed, iżda miżbugħa f'ammonti differenti fuq disinji differenti.

informazzjoni naturali u s-sitwazzjoni

Persuna dejjem interessati fis-soluzzjoni tal-problema, li fi stadji informazzjoni u, bħala riżultat, se jingħataw l-istess informazzjoni. Tippreżenta l-istqarrija tal-problema fil-forma ta 'dokument, persuna gets semantika speċifiċi, li hija fl-ispeċifikazzjoni ta' esperti (emenda, tiċċara kliem, iħassru, teditja) mhux biss iwassal għall-verżjonijiet multipli ta 'dokument, iżda wkoll għall-verżjonijiet tagħha b'kontenut differenti.

B'mod partikolari, il-kompitu stabbilit bil-frażi "Solve uranenie kwadru" wara editjar se teżamina bħal dan: ". Biex issolvi l-ekwazzjoni kwadratiċi" Jekk fl-ewwel l-ewwel iżball kien korrett, u mbagħad it-tieni, allura l-informazzjoni naturali fl-istil OOXML jista 'dehra: "[solvuti] [] [kwadru] [e] [] [Cheers] [b] [nenie]", iżda dan ma jiggarantixxu li dan huwa l-kompitu se jidher fil-OOXML tags (parentesi jimitaw brackets tikketti).

Biex tpoġġi flimkien l-informazzjoni tista 'tkun faċilment wara kull kompitu l-proċess editjar, iżda kull darba din il-proċedura se jitwettqu minn diversi algoritmi. espressjonijiet regolari, bħala tip ta 'għodda ta' formalizzazzjoni ta 'problemi informazzjoni saru, fil-fatt, mixi mogħdijiet mill-istrutturi formali tal Portugues għall-informazzjoni naturali.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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