OrdenagailuakProgramazioa

Espresio erregularra (PHP). PHP: adierazpen erregular adibide

Zein handia eta informazio mundua anitza, bezain azkar, zabaldu eta garatzen. Edozein erabakia - mugimendua prozesua orokorrean puntu bat bakarrik. Ezagutza eta esperientzia egiteko helburua lortzeko prozesua ulertu ahal izan zen, baina inoiz ez - ez bere lorpenak emaitza. zalantzazkoa emaitza on etorkizunean ere dugu hitz egin ahal da, baina garrantzitsua da bidean lanean prozesua esanguratsua eta objektiboki beharrezkoa prozesu bat da.

"Desire edo / eta diru asko" ez direla gai algoritmo bat sortu, eta, jakina, "free" Gizon egiten du, batez ere, ez zuen zer egiten zuen pentsatzen. edozein egoera Informazio arazoa itsu spot bat behintzat ditu, baina berarentzat, normalean, berehala, orbanak, beste batzuk garbi ikusgai dira, eta ez du zertan hori lore zuri guztiak dira.

Internet teknologia informazioa eskuratzeko sinplifikatu egin da, baina galdera da - nola jarri nahi den izatea - ez sinplifikatu eta erosi berria "bolumen" lanaren. Eta nahiz PHP adierazpen erregular hutsune argi ez agortu da, aurrera esanguratsua urrats bat dira.

Simple funtzio + algoritmo = eredua

adierazpen erregular eskainiz, PHP algoritmoa nabarmen edukia murrizten, baina ohiko bilaketa funtzioak / ordezko eta prozesatzeko algoritmoak ez da aurkitu euren garrantzia galdu. ideia berriak ez portend informazio iraultza. gehien dela espero daiteke - Kode trinko eta handitzeko sustatzailearen bilaketa baten behar bezala formulatu gaitasuna.

Ezagutzen eta PHP adierazpen erregularrei buruzko aplikatu beharko duzu. Adibideak konbentzitzen eta eraginkorra. Baina txosten eman behar da, bilatzaile berri baten etorrerak, grabitatearen zentroa eredua aldatu - mekanismo moduko bat, nahiz eta, egia esan, ordezkatu bilaketa funtzioak erraz, baldintzak, begiztak, eta beste operadore multzo batek.

dituzte:

  • kalitatea eta tresna modernoak - ona da;
  • ikusi eta lankideen esperientzia erabili materia da;
  • arrakastaren bermea - errealitatea eta ideia birtual konbinatuz.

nola arazo ulertzeko, konpondu beharra zegoen ezagutza lortzea, askotan gehiago, emaitza zehatzak baino garrantzitsuagoa da.

PHP adierazpen erregularren funtzioak zenbaki baten hizkuntza sintaxia eta Interneten adibide erabilgarria asko adierazten dira. Honegatik sintaxia aplikazio aukera bereziak daude mugatuta sustatzailearen irudimena bakarrik, baina sleuet kontuan izan ez guztiak templates duten lan egingo du. PHP adierazpen erregular baliozkotzeko erabiltzea ezinbestekoa da.

Bilaketa arrunta pertsonaia (katea)

Ikur - hau ez da beti byte bakar bat da, eta, askotan, ikur bat, txip bat, gainera esanahi zehatza dauka. Encoding zehazten ikusgai karaktere kodean ezberdinean. sinboloa hainbat aukera izan dezakete: "$" = "dolar" = "dolar", ... - zerbait nonbait esanahi zehatza da, baina ez du zertan itxi, ondorioz moneta. Hala ere, esanahi zehatza daiteke PHP aldagai, beti karaktere "$" batekin hasten da gezurra, baina ezin "dolar" eta "dolar" hasi.

Programaren sinboloa funtzioa izen bat (katea) testuinguruan izan daiteke: ezagutu eta bete - da dinamikoa objektuetara bideratutako programazioa, batetik, egitura, funtzio, PHP erregular esamoldeak zuzenean erabiltzen dira erabakiak hartzeko. Aurkitutako ikur "bira", hau da, zer den tokian bertan aurkitzen da egin zehazten du berak, eta horrela dela, "jotzen zuen" beharrezkoa.

Search pertsonaia a / line - ez, hala nola ariketa sinple bat, eta informazio gehiago, argiagoa, hobe. Ez da beti beharrezkoa hamar elikagaien prezioen onena aurkitzeko, aukeratu errezeta gozoak urtebetetzea pastela, edo faltsua sabai kontratistak zehazteko.

Askotan beharrezkoa da erraza algoritmoak ez dira errazak informazio aritmetika edo baldintza zailetan, noiz nahi den pertsonaia den datu base bat aukeratzeko, eta lerroan bertan beharrezkoa da aurkitzea optimizatzeko - ehun guneak. Prezioa berdina da garai pertsonaia bat lagin datu-basea, eta non begiratu prezioa hautatzeko - bilaketa denbora nabaria guneak ehunka.

Lone sinboloa - ez da esaldi bat, eta ez esaldi batzuk, edonon izan zitzakeen eta nahi duzun bezala txiki gisa izan. Nola zer aurkitu zuten dago nahi den zehazteko?

Adibidea: bilaketa prezioak

Just aurkitu testua "$" ikurra - apur bat. Check-zenbaki bat aurpegiak dela, ez da beti nahikoa. Puntu bat edo kopuruaren ikurra "$" aurretik ematen baduzu bermea duten prezioak zein moneta-ikurrak dira aurretik ez da kontuan hartuko da. Badira ere zehazten ez diren prezioa, eta horrek, oro har, ez dago zehaztuta moneta, baina orriko da esplizituak argibideak gunean.

Oro har, ohiko eran arazoaren konponbidea errekonozimendu algoritmoa eta denbora asko haratago puzten. Bien bitartean, adierazpen erregular bat erabiliz, PHP kopuruaren arazorik gabe topatuko.

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

"Begira e-mail - 2usd:
";
"Aurkitu e-mail - 2u.e:
.";
"Lana e-mail - ue2:
";
"Begiratu e-mail - $ 13", $ aResult);
. '; '. implode ( ',' $ aResult [0]). '
'.

erantzun du: "2; 2usd, 2u.e.", baina ez zuen lerroan ezer aurkitu: "egiaztatu e-mail - $ 13."

aurrean edo pertsonaia atzean eredua presentzia eskaintzea, arrakasta lortzeko dezakezu azkar kasu gehienetan.

$ CContents = preg_match_all ( "/ ([0-9] + ([\ $] | usd | y \ £ \ |. EB) {1}) | (([$] | usd | y \ £ \. | ue) {1} [0-9] +) / i ";
"Begira e-mail - 2usd:
";
"Aurkitu e-mail - 2u.e:
.";
"Lana e-mail - ue2:
";
"Begiratu e-mail - $ 13", $ aResult);
. '; '. implode ( ',' $ aResult [0]). '
'.

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

ustekabeko logika buruz

Adierazpen erregularren PHP eskaintza, baita bestelako tresnak, baina ez da beharrezkoa horiek aplikatzeko bere arauen arabera edo emandako minuskulak sintaxia modu beste funtzioak erabili.

Posiblea array buelta beharrezkoak bilaketa, eta lekuan bilatu dugu, hautsi behera osagaiak sartu aurretiko irizpideen arabera hasieran aurretik. Just pare bat lehertu () eta implode () askotan sinplifikatu eta azkartu erabakia.

Adibidez, aurretiazko lanaren ondorioz kateak (datuak) barrutian sorta bat herri guztietan bildutako patata zenbat eratu: ezezaguna ImyaDerevnya eta bolumena bildu, eta herrialdeko hainbat enpresa exekutatzen bada kateen array batean ImyaDerevnya.ImyaPredpriyatie eta balio bidez da "; " eta, beraz, enpresen guztietan. Kalkulatu kasu honetan bildutako ezingo dira zenbateko, baina impode egiten baduzu ( ";", $ aResult), lerro luze bat da, eta bertan bikotea izango da - ImyaDerevnya / ImyaDerevnya.ImyaPredpriyatie - tamaina bilduma bat - be bidez transferitu egingo du ";". Ba alderantzizko baten gainean, ondorioz, lehertu ( ";", $ aResult) - guztiak sorta bat, nor bildu eta nola bildu da, eta ondoren ez-zenbakizko karaktere guztietako lerroak kenduz, zenbakiak bakarrik behar dugu, eta hori batuketa bolumen osoaren bildu da.

Adibide honetan, PHP adierazpen erregularra ez uztea gehiegi begiratu, dira erraz eta merkean extract nahi diren zenbakizko balioak. Azkar eta modu eraginkorrean, ez du axola zenbat denbora herrietan eta enpresen izenak izan daiteke. Irtenbide hau ez da ideal, baina horrek ez du beti jarraitu arauak izan beharko erakusten du. askotan posible da nahi lortzeko ezohiko modu batean.

tekniko aldean abstrakzioa, kodeketa

algoritmoa sintaxia ez du esaten nola itxura errealitate atalean. Hala ere, orriaren kodeketa bera emanez, eta lerroak gidoia (horrek bilatzen da bertan irudietan) arazoa murgiltzen dezake bere alderdi teknikoa da.

Ez behar duen bakarra dakit zer bilatzen, baina non egin behar den, noiz, zenbat, zer aldatu eta nola. Formalki PHP adierazpen erregular full-featured berezko mekanismo osoa bezala exekutatu, baina arrazoi, bere kontrako gauzatzeko hizkuntza askotan desberdinak. Oro har, a tresna ingurumena bereziki eredu jakin bat eraman zuen aurretik zeregin zehatz bat eta, beharrezkoa da kalitate handiko egokitzapena egiteko, iturburu datuak for the aukera guztiak egiaztatzeko.

erabili duzu zure esperientzia PHP garatzen bada ere, erregular esamoldeak, adibideak, txantiloiak eta diseinu zaindua egiaztapena behar du. Dinamikoki hizkuntzaren funtzionaltasuna, sintaxia eta exekuzio aldatuz.

Egitura eta edukia template baten

Zer zen, aldez aurretik bilaketa funtzioak, konbinazio baten forma idatzitako baldintzazkoak, espresio erregular eredua - ordezko eragiketak, sartu, ezabatu, zenbait arauen arabera karaktere kate bat da. Izan ere, kopuru handia da modu jakin batean kodetutako eta arau espezifikoak exekutatu.

ezinezkoa da inolako arazketa hizkuntza operadorea egin bezala, ezin duzu erregularra adierazpen eredua arazteko, prozesu hau bakarrik moldatu daiteke. Oro har onarturiko bertsioan bezala: lanak - ez du funtzionatzen. sintaxia oso sinplea da, bere pertzepzioa arren, batez ere, hasieran, oso zaila da.

adierazpen sinple baten adibidea

isla sinple batean, plantilla katea dator bat:

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

"; Asdf 1", funtzioa bere funtzionamendua osatzen geroztik lehen bete bat datorren template batean Emaitza izango da. Emaitza bera izango da ", aaaasdf" line "zzzasdfvvv" in begiratzen dugu lerroan bada. Lehenengo eta / edo azken pertsonaia zehazten baduzu, emaitza argi izango litzateke:

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

Emaitza izango da: 1; asdf1; asdf.

ikurrak "*" eta "$" adierazten non hasi eta bukatzen eredua. Emaitza preg_match funtzioa - partiduak kopurua, 0, 1, edo gezurra izan daiteke, akats bat detektatu bada. Hirugarren aukera - array - jarritako bakarrik aurkitu elementua. preg_match_all funtzioa erabilita kasuan () bilaketa end line jarraitzen du.

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

emaitza:

1; asdf
3; asdf, asdf, asdf.

Ez baduzu erabili argibideak bereziak, pertsonaia bakoitzak definitzen du bere burua, eta bere lekua, the line programazioa eta template kodetze kontuan hartu gabe. Programatzailea ziurtatu behar elementu horiek kodeketa zuzena izan ziren beste eta kodeketa orri bakoitzaren aldean.

PHP adierazpen erregular lan egiteko funtzio

PHP for Ohiko esamoldeak pertsonaia kate bat modu jakin batean grabatutako ordezkatzen. Normalean, programazio beste hizkuntza batera analogiaz, dute ikurrak "/" ... "/" eta komatxo jartzen, bakar edo bikoitza algoritmoaren arabera erabili ahal izango dituzu idatzita daude.

The nagusia funtzioa php preg partidua adierazpen erregular bai ereduarekin partidua erabiltzen du, eta gelditzen da lehen kokapenean, aldaera horien atzizkia _dena batekin partiduak guztiak aurkitzen ditu, eta array irteerak kontratuan. Funtzio preg ordezkatu ordezkatuko bakoitza txantiloi bat, matrizeak lan egin ahal da, bilaketa diseinu ahalbidetuz eta burutzeko aukera ugari ordezkatzeko.

adierazpen erregular lan egiteko aukera interesgarriak garatu daitezke ordezko testua ez hartzen preg_replace_callback funtzioa, eta funtzioa, eta horrek ordezko bat, hala egingo izenean erabiliz. Balio praktikoa gain ezartzeko dezakezu mekanismoak egiaztatu eredua, garapen eta arazketa azken duten zeregin garrantzitsua du.

adierazpen erregular esparrua

Geroztik hipertestu hizkuntzetan Informazio formalizatu dira, neurri handi batean, hasierako materiala dira. Garatua datu kopuru handiak modu eraginkorrean prozesatzeko aukera ematen duten txantiloiak eta diseinu ugari. Lan honen zati handi bat, eduki ezberdinak kudeatzeko sistemak (CMS) barneratzen mekanismoak egiten da.

Ez da harritzekoa, asko CMS bihurtu de facto estandarrak guneak eraikitzeko, eta ari da (eguneratua) software enpresei lagunduta, ez zuten egin da beharrezkoa ereduen garapena aurrera eramateko bere kabuz egiteko. Hala ere, sistema horiek kanpotik dute adierazpen erregular esperientzia oso erabilgarria da.

Ohiko esamoldeak eta benetako informazioa

PHP liburutegiak adierazpen erregular aplikazio-eremu garrantzitsu bat etorrerak PHPOffice eratu. dokumentuak, kalkulu lan egiteko, eta beti izan du oso garrantzitsua eta OOXML estandarra posible da benetako dokumentuak ez bakarrik desmuntatu, baina baita euren programa moldatzeko.

hipertestu eta PHP bereziki hizkuntzen garapenari esker, ez dago benetako aukera da "ekoizpen" dokumentuak "forma estandarra" ren automatizatzeko, adibidez da, ordainketa, txostenak, enpresa-planak, eta bestelako informazio objektuak fakturak, egitura eta edukiak dira benetan frogatu formalizatua eta automatizazioa.

aplikazioaren hizkuntza OOXML garapen adierazpen erregular prozesua deskribatzeko lotuta nahiko markaketa hizkuntzak HTML lan tradizional eta CSS lehenik eta desberdinak. Benetako dokumentu, markatzea ezik, eta benetako edukiak gain xehetasun asko ditu. Adibidez, automatikoki sortu zen programaren bidez dokumentu bat egingo edukien sendo eta zehatza izan. Dokumentu eratutako edo tratatu pertsonari, eduki bat izango dute, etiketa aniztasuna baino gehiago margotu zuen. Dokumentuaren edozein lan Izan ere, semantika bat izan daiteke, baina diseinu desberdinetan kantitate ezberdinetan margotu dakar.

Informazio naturala eta egoera

Beti da arazoa, eta horrek eszenaratzen ditu informazioa eta, ondorioz konponbidea interesa duen pertsona bat, informazio bera emango zaie. arazoaren adierazpena aurkeztea dokumentu baten forma du, pertsona bat lortzen semantika zehatz bat, eta hori adituen zehaztapen dago (zuzenketa, idazketa argitzea, ezabatu, editatu), ez bakarrik dokumentu baten bertsio bat baino gehiago dakar, baina baita bere edukia ezberdinekin bertsioak.

Bereziki, esaldiak ezarritako zeregin "Ebatzi uranenie plazan" edizio ondoren itxura hau izango du: ". mailako ekuazio bat konpontzeko" Lehen lehen error ditu zuzendu, eta gero bigarrena, gero OOXML estilo informazio naturala agian itxura: "[konpondu] [] [karratu] [e] [] [cheers] [b] [nenie]", baina horrek ez du bermatu hori da zeregin izango du etiketa OOXML (parentesi emulatzeko parentesi etiketa) agertzen dira.

elkarrekin jarri informazioa erraz izan daiteke zeregin bakoitza editatzeko prozesuaren ostean, baina prozedura hori hainbat algoritmo arabera egingo dira aldi bakoitzean. Ohiko esamoldeak, informazio arazo formalizatzeko tresna moduko bat bihurtu dira, indarrean, hipertestu egitura formal batetik bideak oinez informazio natural bat.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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