Tölvur, Forritun
PHP (Ríkisstjóratíð) - hvað er það? Dæmi og eftirlit reglulegar segðir
Þegar unnið er með texta í hvaða nútíma forritunarmál, verktaki stöðugt hitta markmiðum inntak löggilding til að uppfylla viðkomandi mynstur, leita og skipta próf brot og aðrar gerðir eru unnin af upplýsingum eðli. Þróa eigin löggilding þinn reiknirit leiðir til taps á tíma, kóðinn eindrægni og margbreytileika í þróun hennar og nútímavæðingu.
Mikil þróun á Internet og Vefur-hönnun tungumálum þurfti á fjölhæfur og samningur hætti textavinnslu með lágmarks magn sem þarf til þessa kóða. Það er engin undantekning og er vinsæll meðal byrjendur og faglega verktaki PHP tungumáli. Regluleg segð tungumálið sem texta sniðmát til að einfalda verkefni að meðhöndlun texta og draga kóða fyrir tugi og hundruð línum. Mörg vandamál er ekki hægt að leysa á öllum án þess.
Reglulegar segðir í PHP
PHP tungumálið hefur þrjú kerfi til að vinna með reglulegum segðum - «ereg», «mb_ereg» og «preg». Algengasta er viðmót «preg», sem virka veita aðgang að bókasafni PCRE reglulegri segð stuðning, upphaflega þróuð fyrir Perl tungumál, sem er innifalinn í PHP pakka. Preg-leitast aðgerðir í tiltekinn texta streng samsvörun, samkvæmt ákveðnu mynstri í tungumáli reglulegar segðir.
setningafræði Basics
Sem hluti af stuttri grein að það er ómögulegt að lýsa í smáatriðum allt reglulega segð setningafræði, því að það er sérstakt rit. Við kynnum aðeins helstu þætti til að sýna tækifæri fyrir forritara og skilja kóða dæmi.
Í PHP reglulega segð er formlega skilgreind mjög erfitt, og því einfalda lýsingu. Regluleg segð er texti band. Það samanstendur af a hollur skiljustöð sniðmát og modifier gefur til kynna leið til að höndla það. Hugsanlegrar skráningar í hinum ýmsu val og endurtekningar af mynstrum.
Til dæmis, í tjáningu / \ D {3} - \ D {2} - \ D {2} / m divider er "/", fylgt eftir með sniðmáti, og táknið «m» er modifier.
Allur kraftur reglulegum segðum er kóðuð með meta-stafi. Helstu tungumál metacharacter er skástrik - "\". Það breytir tegund kjölfar stafi á hið gagnstæða (ie. E. Breytt í venjulegum staf orðs og öfugt). Annar mikilvægur metacharacter er bein lína «|», skilgreinir val sniðmát. Fleiri dæmi um meta-stöfum:
| ^ | Byrja hlut eða streng |
| ( | byrja subpattern |
| ) | End subpattern |
| { | Start quantifier |
| } | End quantifier |
| \ D | aukastaf stafa frá 0 til 9 |
| \ D | hvaða staf sem er ekki tala |
| \ s | tómt tákn, rúm, flipi, |
| \ w | Táknið orðabók |
PHP, vinnslu reglulegum segðum, rúm talinn sérstakt gildum staf, svo að tjáning á XYZ og ABC hvar eru öðruvísi.
subpatterns
Í PHP reglulega subpatterns með sviga, og þeir eru stundum kallaðir "subexpressions". Framkvæma eftirfarandi aðgerðir:
Úthlutun val. Til dæmis, hita mynstur (eitthvað | Bird |) fellur með orðunum "hita", "Firebird" og "heitt". Og án sviga að það mun aðeins vera tómur strengur, "fugl" og "heitt".
"Spectacular" subpattern. Þetta þýðir að ef mynstrið passa hlutstreng, þá skilar alla leiki. Fyrir skýrleika, gefa okkur dæmi. Í ljósi eftirfarandi reglulega segð: sigurvegarinn fær ((gull | gullhúðuð) (Medal | bolli)) - og band fyrir leiki, "sigurvegari fær gullverðlaun." Í viðbót við upphaflega setningu, leitarniðurstöður verða gefin út: "gullverðlaun", "medalíur", "gull".
Operators endurtekningar (kvadrifikatory)
Í samantekt reglulega segð er oft nauðsynlegt að greina endurtekningar af tölum og táknum. Þetta er ekki vandamál, ef ekki mikið af endurtekningum. En hvað á að gera þegar við vitum ekki nákvæmlega fjölda þeirra? Í þessu tilfelli er nauðsynlegt að nota sérstaka metacharacters.
Fyrir lýsingu á endurtekningum sem notuð kvadrifikatory - metacharacters að tilgreina fjölda. Kvadrifikatory eru tvenns konar:
- algengt í sviga;
- minnkað.
Heildar quantifier snert af lágmarks og hámarks fjölda leyfð endurtekninga frumefnis í formi tveggja í Spelkurnar eins og X {2,5}. Ef mesta fjöldi endurtekninga er ekki þekktur, annað rök er ekki tilgreint: x {2}.
Skammstafaðar quantifiers eru tákn fyrir algengasta endurtekninga í því skyni að koma í veg fyrir óþarfa fyrir of mikið álag setningafræði. Venjulega eru þrjár sker:
1. * - núll eða fleiri endurtekningum, sem jafngildir {0,}.
2. + - eitt eða fleiri endurtekningar, þ.e., {1} ...
3.? - núll eða aðeins eitt endurtaka - {0,1}.
dæmi Ríkisstjóratíð
Fyrir þá sem læra reglulegum segðum, dæmi - bestu kennslubók. Við gefum nokkrar sem sýna möguleika þeirra með lágmarks fyrirhöfn. All kóða er fullkomlega samhæft með útgáfur af PHP 4.x og eldri. Til að fullu skilja setningafræði og notkun allra tungumála eiginleikum Við mælum með J .. Friedl, "venjulegur tjáning", sem að fullu talið setningafræði, og það eru dæmi um reglulegar segðir ekki aðeins PHP, en einnig fyrir Python, Perl, MySQL, Java, Ruby og C #.
Löggilding E-mail
Verkefni. Það er Internet síða sem gesturinn er óskað netfangið. Regluleg segð verða að athuga réttmæti heimilisföng áður en þú sendir skilaboð. Athuga ekki ábyrgst að tilgreint pósthólf í raun til og fær skilaboð. En illgresi út augljóslega rangar heimilisföng getur það.
Ákvörðun. Eins og með hvaða forritunarmál, í PHP Ríkisstjóratíð email-netfang sannprófun geta verið hrint í framkvæmd á mismunandi vegu, og dæmi í þessari grein eru ekki endanleg og eini kosturinn. Því í hverju tilviki, skal við bjóðum upp lista yfir kröfur sem þarf að taka tillit til þegar forritun og ákveðin framkvæmd fer algjörlega eftir framkvæmdaraðila.
Þannig var orðið sem prófar gilt netfang, ættir að athuga eftirfarandi skilyrðum:
- Tilvist í byrjunarliðinu @ tákn, og það eru engar eyður.
- Lénið hluti af heimilisfang @ tákn, inniheldur einungis gild stafi lén. Hið sama gildir um nafn notandans.
- Þegar stöðva notandanafnið er nauðsynlegt að ákvarða nærveru sértákn eins úrfellingarkommu eða lóðrétta línu. Slík tákn eru hættuleg og geta verið í slíkum konar árásum sem SQL inndælingu. Forðast netföng.
- notendanöfn leyfa aðeins eitt atriði, sem getur ekki verið í fyrsta eða síðasta staf í streng.
- The lén verður að innihalda að minnsta kosti tvær og ekki meira en sex stafir.
Dæmi, að teknu tilliti til öll þessi skilyrði má sjá á eftirfarandi mynd.
Mat á vefslóð
Verkefni. Athugaðu hvort tilgreindur texti band er gild netfang vefslóð. Enn og aftur, athugaðu að við að venjulegur tjáning URL-stöðva er hægt að innleiða með ýmsum hætti.
Ákvörðun. Endanleg útgáfa okkar er sem hér segir:
/^(https?:\/\/)?([\da-z\.-]+)\.([az\.]{2,6})([\/\w \ .-] *) * \ /? $ /
Nú greina hluti hennar nánar með teikningu.
| einhverri af kröfum 1 | Áður en slóðin ætti ekki að hafa nein stafi |
| kröfu 2 | Athugaðu nærveru lögbundið forskeyti «http» |
| atriði 3 | Það má ekki vera tákn |
| kröfu 4 | Ef það «s», slóðin bendir til öruggs tengingu «https» |
| kröfu 5 | Áskilið hluti af "//" |
| kröfu 6 | engir stafir |
| p. 09/07 | Sannprófa fyrsta léni og tilvist lið |
| p.10-13 | Staðfesti léni skrifa annað stig og benda |
| p.14-17 |
Skrá uppbyggingu URL - a setja af tölum, stöfum undirstrikar, bandstrik, punkta og rista í lok |
Athuga kreditkortanúmer
Verkefni. Þú þarft að framkvæma staðfestingu á valdri kreditkortanúmer algengustu greiðslukerfi. Afbrigði aðeins fyrir spil Visa og MasterCard.
Ákvörðun. Egar tjáningu sem þú þarft að taka tillit til hugsanlega tilvist eyður í inntak herberginu. Tölunum á kortinu er skipt í hópa til að auðvelda lestur og dictation. Því er eðlilegt að maður getur prófað að slá inn númerið á þennan hátt (ie. E. Notkun bil).
Skrifa alhliða tjáningu sem tekur mið af hugsanlegum bil eða bandstrik, er flóknara en einfaldlega henda öllum stöfum nema tölustöfum. Þess vegna mælum við með því að nota algildisstaf segð / D, sem fjarlægir alla stafi nema tölustöfum.
Nú er hægt að fara beint til stöðva númer. Öll fyrirtæki, nota greiðslukort útgefendur einstaka númer sniði. Í dæminu er það notað, og viðskiptavinurinn þarf ekki að slá inn nafnið á fyrirtæki - það ræðst af fjölda. Visa kort alltaf að byrja með tölurnar 4 og hafa lengd 13 eða 16 tölustöfum. MasterCard hefst á bilinu 51-55 með langa tölu 16. Þar af leiðandi, fáum eftirfarandi tjáningu:
Áður en vinnsla þess er hægt að frekari prófa síðustu tölustafi fjölda, sem er reiknuð á Luhn reiknirit.
Staðfesti símanúmer
Verkefni. Athugun á réttmæti inn símanúmer.
Ákvörðun. Fjölda tölustafa í föstu og hreyfanlegur símanúmer breytilegt töluvert eftir í landinu, svo að almennt athuga með reglulegum segðum, símanúmer rétt ómögulegt. En alþjóðlegar tölur hafa strangar sniði og fullkominn fyrir að haka við mynstur. Jafnvel fleiri svo að fleiri og fleiri innlendum síma rekstraraðila eru að reyna að uppfylla sömu kröfur. Room uppbygging er sem hér segir:
+ CCC.NNNNNNNNNNxEEEE, þar sem:
- C - er landsnúmer sem samanstendur af 1-3 tölustöfum.
- N - fjöldi allt að 14 stafir.
- E - valfrjáls eftirnafn.
Plús er ómissandi þáttur og tákn X er til staðar þegar þörf krefur eftirnafn.
Þess vegna höfum við eftirfarandi tjáningu:
^ \ + [0-9] {1,3 } \ [0-9] {4,14}. (:?. X +)? $
Tölurnar í bili
Verkefni. Það er nauðsynlegt til að tryggja tilviljun heiltala af ákveðnu bili. Þar að auki, það er nauðsynlegt að finna reglulega segð aðeins tölur frá bilinu.
Ákvörðun. Hér eru nokkrar orðasambönd í nokkrum af algengustu tilvikum:
| Ákvarða klukkustund frá 1 til 24 | ^ (1 [0-2] | [1-9]) $ |
| Dagur í mánuðinum 1-31 | ^ (3 [01] | [12] [0-9] | [1-9]) $ |
| Sekúndur eða mínútur 0-59 | ^ [1-5]? [0-9] $ |
| A fjölda 1-100 | * (100 |? [1-9] [0-9]) $ |
| Dagur ársins 1-366 | ^ (36 [0-6] | 3 [0-5] [0-9] | [12] [0-9] {2} |? [1-9] [0-9]) $ |
Leita IP-vistföng
Verkefni. Það er nauðsynlegt að ákvarða hvort tiltekin band er gild IP-tölu í IPv4 sniði á bilinu frá 000.000.000.000-255.255.255.255.
Ákvörðun. Eins og með hvaða vandamál í tungumáli PHP, var reglulega segðin hefur marga varintov. Til dæmis þetta:
Online stöðva tjáning
Athugaðu ríkisstjóratíð rétt fyrir byrjendur getur verið erfitt vegna þess að flókið setningafræði sem er frábrugðið "venjulegur" forritunarmál. Til að leysa þetta vandamál, það eru margir online prófunartæki orðasambönd sem gera það auðvelt að athuga réttmæti sniðmátið sem þú bjóst til í alvöru textanum. Forritari fer tjáningu og sannprófun gagna og strax sjá niðurstöðu vinnslu. Venjulega er það leggja tilvísun kafla, sem upplýsingar um reglulegar segðir, dæmi og framkvæmd munur að mestu langan tungumálum.
En að fullu traust netþjónustu niðurstöður ekki mælt með fyrir alla forritara sem nota PHP. Regluleg segð er skrifað og staðfest í eigin persónu, vekur hæfi og tryggja fjarveru villum.
Similar articles
Trending Now