TelefoniaPrugrammazione

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:

  1. 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".

  2. 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:

  1. A prisenza in u principiu filu u simbulu @, è ùn ci sò micca spaziu.
  2. 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.
  3. 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.
  4. usernames permette solu unu puntu, chì ùn pò esse a prima, o noms de caratteru in u catena.
  5. 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

 

 

 

 

Newest

Copyright © 2018 co.unansea.com. Theme powered by WordPress.