Telefonia, Prugrammazione
PHP (regex) - ciò chì hè? Esempii è à cuntrollà sprissioni rigulari
Quandu u travagliu cù u testu in ogni lingua di prugrammazione mudernu, sviluppori arricchisci risponde incù i scopi di a cunvalidazione messu per u rispettu incù u mudellu bramatu, circà e rimpiazza pezzi testu è altri tippi di funziunamentu trasfurmeghja di infurmazioni caratteru. Sviluppà u vostru propriu alguritmi cunvalidazione cunduce a perdita di tempu, a cumpatibulità codice è cumplessità in u so sviluppu è di mudirnazzazzioni.
A chi u sviluppu di e lingue Internet è WEB-design nicissarii i criazioni di i mezi pulivalenti e fra di trasfurmazioni u testu cù un numeru minimu necessariu di stu còdice. Hè senza eccezzioni è pupulari à mezu à i principianti è sviluppori prufessiunale di lingua PHP. A lingua sprissioni rigulari comu li mudelli testu à simplificà lu compitu di assicurà u testu è accurtà u so codice di decine è na cintinara di lìnii. Tanti prublemi ùn si pò solving à tutti i senza lu.
Sprissioni Regular in PHP
lingua PHP hà trè miccanismi di travaglià incù sprissioni rigulari - «ereg», «mb_ereg» è «preg». A più cumuna hè l 'interfaccia «preg», li cui funzioni derà un accessu à a biblioteca di u sustegnu sprissioni rigulari PCRE, urigginariamenti sviluppatu di la lingua Perl, chì hè inclusa in u pacchettu PHP. funzioni in una data BILINGUE String testu Preg-inventà, secondu a un certu mudellu in la lingua di sprissioni rigulari.
Turchinu sintassa
Comu parti di un cortu articulu hè impussibile à discriva a tecnica u web fuori sprissioni rigulari, per sta ci hè una litteratura spiciali. Avemu prisenti sulu l 'elementi principale à mustrà e pussibilità di documentaliste è capisce u esempi codice.
In PHP sprissioni rigulari hè definita forte assai difficiule, è dunque, simplificà lu Lacu. A spressione rigulari hè una catena testu. Hè un insèmule di un mudellu erotin sanu è i mudificaturi mintuvendu u modu di gistiri lu. Pussibili esse integratu in li vari altirnativa è repetitions di mutivi.
Per esempiu, in sprissioni / \ d '{3} - \ D {2} - \ D {2} / m Glitter divider hè "/", seguita da u mudellu, è lu sìmmulu «f» hè u mudificaturi.
Tutti i puteri di sprissioni rigulari hè cudificatu cù quissa-caratteri. U metacharacter lingua principali è lu backslash - "\". Si cancia lu tipu di seguenti caratteri u cuntrariu (vale à dì. E. cunvirtuti nta un OLERICULTURE caratteru strasurdinariu, è viciversa). Un altru metacharacter mpurtanti è na linìa «|», specifies u mudellu alternativa. More li siquenti sunnu asempî di quissa-caratteri:
^ | Principià uggettu o di una catena |
( | Principià subpattern |
) | End subpattern |
{ | Start quantification |
} | End quantification |
\ d ' | cifru decimali da 0 à 9 |
\ D | ogni caratteri chì ùn hè micca un numaru |
\ 's | simbulu viotu, u spaziu, Insignia, |
\ argent | dizionario francese simbulu |
PHP, trasfurmeghja i sprissioni rigulari, u spaziu cunsidaratu com'è un caratteru valevule siparati, tantu i sprissioni di XYZ è ABC WHERE sò differente.
subpatterns
In PHP subpatterns rigulari da parèntesi, è ch'elli sò li voti chiamati "subexpressions". Natali i seguenti e funzioni:
altirnativa Natural. Per esempiu, u mudellu calori (cosa | Bird |) vene cu lu "giru" e parolle, "слушают:" e "ciriveddu". E senza l 'mènzuli si serà solu una catena viota, "acellu" è "ciriveddu".
subpattern "Sizzla". Stu significa ca si lu mudellu filmu substring, poi rende tutti i cirina. Di tralucenza, avemu dà un esempiu. Datu i seguenti sprissioni alta frequenza: u vincitore riceve ((d 'oru | oru plated) (medaglia | cup)) - e la catena di cirina, "l' oru si una midaglia d'oru". In aghjunta à u frasa nizziali, sarà scunnisciuti i risultati: "Frisone Gold", "Cuncorsu", "d'oru".
Uperatori repetitions (kvadrifikatory)
In compiling i sprissioni rigulari hè spessu necessariu à analizà u répétition di numari e sìmmuli. Stu ùn hè micca un prublemu, s'ellu ùn assai di repetitions. Ma ciò chì per fà quandu noi ùn cunnosce u so numaru esattu? In issu casu, hè necessaria à aduprà metacharacters spiciali.
Per una discrizzione di repetitions usatu kvadrifikatory - metacharacters à specificà u numeru. Kvadrifikatory sunnu di dui tipi:
- cumuna in piazza;
- ridutta.
quantification megliu toccu da u numeru minimu è massimu di u dirittu elementu repetitions in la forma di dui numari in u aculate, cume X {2,5}. Sè u numaru massimu di repetitions ùn hè cunnisciutu, u sicondu argumentu ùn hè renseigné: x {2}.
quantifiers Abbreviated sò sìmmuli di i più cumuna di repetitions in ordine per francà fuori caricà micca necessariu. Di solitu ci sò trè accurtatoghji:
1. * - zeru, o più repetitions, chì hè equivalenti à {0}.
2. + - unu o di più repetitions, vale à dì, {1} ...
3.? - zeru, o solu unu ripetiri - {0,1}.
Esempii regex
Per quelli chì amparà sprissioni rigulari, li siquenti sunnu asempî - lu megghiu un'opera. Avemu dà uni pochi chì mostra a so sbocchi prufessiunali cù un minimu di sforzu. All codice hè cumplettamente compatible avec versioni di 4.x PHP è sopra. À capisce tutarmenti l 'sintassi e utilizzu di tutte e funziunalità lingua no preferimu u libru da J .. Friedl, "sprissioni alta", chì n'avemu cunzidiratu sintassa, è ci sò esempi di sprissioni rigulari micca solu à PHP, ma dinù per un pitone, Perl, dati, Java, Ruby, è C #.
Cunvalidazione E-mail address,
Compitu. Ci hè una pagina internet u quali hè dumandatu u visitadore indirizzu email. sprissioni Regular vole verificà u correctness di u indirizzi mandà missaghji. Vedi ùn garantiri chi u mailing renseigné intreccia esisti, è riceve i missaghji. Ma videmma fora indirizzi currispundenu mali si po '.
Decisione. As incù ogni lingua di prugrammazione in PHP regex verification mail-indirizzu pò esse messu in usu in versi, è l'esempii in issu articulu ùn sò i scelta finale è solu. Dunque, in ogni casu, avemu ti derà una lista di i bisogni chì tocca à esse pigliata in contu, quannu di prugrammazione è specifichi matematiche dipende sanu nant'à u documentaliste.
Cusì, i sprissioni chì pénuries un mail valevule, deve cuntrolla i seguenti e cundizioni:
- A prisenza in u principiu filu u simbulu @, è ùn ci sò micca spaziu.
- A parti u duminiu di u indirizzu di u simbulu @, cuntene solu i caratteri valevule per nomi duminiu. Lu stissu vali a nomu di l'utilizatori.
- Dopu à cuntrollà i gatti hè necessaria à definisce a prisenza di i caratteri particulari com'è un apostrofu o di ligna, verticale. Vergogna simboli sò Prepaid periculosa è pò esse cuntenute in stu sorti di attacchi chì SQL-inieziuna. Evitari indirizzi.
- usernames permette solu unu puntu, chì ùn pò esse a prima, o noms de caratteru in u catena.
- U nomu duminiu deve cuntene almenu dui, è micca di più chè sei caratteri.
Esempiu, presa in contu di tutti sti cundizioni pò esse vistu in l 'cchìstu figura.
Cunvalidazione di un URL
Compitu. Verificà s'ellu l 'catena testu renseigné hè una valevule URL indirizzu. Ancora na vota, avemu nutà chì sprissioni rigulari URL-ora lìmita pò esse messu in usu in parechji modi.
Decisione. A nostra a versione finale hè a siguenti:
/^(https?:\/\/)?([\da-z\.-]+)\.([az\.]{2,6})([\/\w \ .-] *) * \ /? $ /
Avà analizà u so cumpunenti in più tecnica cù u disegnu.
sustennu 1 | Prima di l 'URL ùn deve avè ogni caratteri |
sustennu 2 | Cuntrolla a la prisenza di lu prifissu ubligatorie «situ http» |
bagagliu 3 | Ci tocca à esse ùn sìmmuli |
sustennu 4 | Sè ci «d», i punti URL à una cunnessione spenseratu «https» |
sustennu 5 | parte tenutu di l ' "//" |
sustennu 6 | No caratteri |
p. 7-9 | Verificà u prima duminiu livellu è a prisenza di puntu |
p.10-13 | Verificà u duminiu di scriviri lu secunnu liveddu è u puntu |
p.14-17 | struttura di u schedariu URL - un gruppu di numeri, lettere, l 'dashes, stain, è un slash & à a fine |
Cuntrolla i numari crèditu
Compitu. Vi tuccherà à azzione a cunvalidazione di u numeru crèditu intrutu di u sistema pagamentu più cumuna. A varianti solu per drawing previa è MasterCard.
Decisione. Quandu criannu la sprissioni vi tocca à piglià in contu i pussibili prisenza di spaziu in la stanza messu. A pie u mappa sò spartuti in gruppi di più fàciule, lettura e document. Per quessa, hè naturale chì una persona pò pruvà à entre in un numeru à sta strada (vale à dì. E. Praticà spazi).
Scrive un 'esprissioni universale chì piglia in contu u pussibili spazi, o hyphens, hè più cumplessa cà simpricimenti discard tutti i caratteri francu pie. Per quessa, no preferimu noi cù una OLERICULTURE sprissioni / D, unni Efface tutti i caratteri francu pie.
Avà, pudete andà direttamente à u numeru arrigistramentu. Tutti i impresi, issuers crèditu utilizà un furmatu numeru unichi. In l 'esempiu si veni usatu, è u cliente ùn tocca à entre in lu nomu di la cumpagnia - si hè truvatu da u numeru. drawing Festa comincia sempre cù i numari 4 e hannu na lunghizza di 13 o di 16 pie. MasterCard principia in u catalogu di 51-55 cun una longa numeru 16. Comu un risultatu, niàutri pigghiamu l seguenti sprissioni:
Nanzu trasfurmeghja l 'ordine ponu esse più messu l' ultimu pie di u numaru, chì hè create nant'à u algutitimu Luhn.
phone number verificà
Compitu. Cuntrollà i correctness di u phone number intrutu.
Decisione. U numaru di pie in i numari liberta fissu è mobile, sfarenti accumpagna sicondu u paese, cusì universalmente cuntrolla cù sprissioni rigulari, phone number currettamente impussibili. Ma numari internaziunale, hannu nu furmatu di custumi è perfettu per cuntrollà u mudellu. Ancu di più cusì chì di più, è più uperatori liberta naziunali sò pudia risponde à u listessu modu. struttura da tè hè a siguenti:
+ CCC.NNNNNNNNNNxEEEE, induve:
- C - hè u codice di campagna ca cunzistìa ri 1-3 pie.
- N - numeru fin'à 14 pie.
- E - allargamentu vuòti.
Plus hè un elementu di primura, è u segnu X hè prisente solu quandu necessaire curtzu.
Cum'è un risultatu avemu i seguenti sprissioni:
^ \ + [0-9] {1,3 } \ [0-9] {4,14}. (:?. Ex +)? $
I numari in u rigistru
Compitu. Hè necessaria a uttena ispensata nteru di un certu rigistru. In più, ci vole à truvà un 'esprissioni rigulari solu i numari da u numericu.
Decisione. Quì sò uni pochi di sprissioni à certi di i casi più cumuna:
Definisce ora da 1 à 24 | ^ (1 [0-2] | [1-9]) $ |
Day in u mese, 1-31 | ^ (3 [01] | [12] [0-9] | [1-9]) $ |
o seconde minuti 0-59 | ^ [1-5]? [0-9] $ |
Un numaru da 1 à 100 | * (100 |? [1-9] [0-9]) $ |
Ghjornu di a annata 1-366 | ^ (36 [0-6] | 3 [0-5] [0-9] | [12] [0-9] {2} |? [1-9] [0-9]) $ |
Search IP-indirizzi
Compitu. Hè necessaria a ditarminazioni s'ellu un datu catena hè una IP-indirizzu valevule in furmatu IPv4 in u catalogu da 000.000.000.000-255.255.255.255.
Decisione. As incù ogni prublemu in la lingua di PHP, i sprissioni struttura hà assai varintov. Per esempiu, stu:
ora lìmita Online di sprissioni
Cuntrolla regex bè per principianti ponu esse difficiule per via di la cumplissitati di l 'sintassa, ca diffirisci da a "regula" lingue di prugrammazione. À scioglie stu prublema, ci sò parechje persone testate nanu sprissioni chì facenu facile à verificà i correctness di u mudellu voi creatu in u testu di veri. L'editore t'avissi u dati sprissioni è verification è vede necessità u risultatu di a trasfurmazioni. Di solitu ci hè di prisentà una rùbbrica reference, chì détails i sprissioni rigulari, li siquenti sunnu asempî e sferenze matematiche di e lingue più imparu.
Ma a pulizia nanu cumplettamente cuntrollu ghjudiziariu risultati micca cunsigliatu di tutte e lingue chì aduprà PHP. A spressione rigulari hè scrittu e liste in persona, scularu qualifica è garantiri la mancanza di sbagghi.
Similar articles
Trending Now