RíomhairíCláir

PHP (regex) - céard é féin? Samplaí agus sloinn ionadaíochta a sheiceáil

Nuair a bheidh ag obair le téacs in aon teanga cláir nua-aimseartha, forbróirí le chéile i gcónaí leis na cuspóirí bailíochtú ionchuir ndáil le comhlíonadh na patrún atá ag teastáil, a chuardach agus a blúirí tástála agus cineálacha eile na n-oibríochtaí próiseála faisnéise carachtar in áit. A fhorbairt do halgartaim bailíochtaithe féin mar thoradh ar chailliúint ama, an comhoiriúnacht cód agus castacht ina fhorbairt agus a nuachóiriú.

Ní mór don forbairt go mear ar an Idirlíon agus WEB-dhearadh theangacha a chruthú modhanna versatile agus dlúth phróiseáil téacs le méid íosta is gá chun cód seo. Tá sé aon eisceacht agus tá sé tóir orthu i measc thosaitheoirí agus d'fhorbróirí gairmiúla teanga PHP. An teanga slonn ionadaíochta mar na teimpléid téacs a shimpliú an tasc a láimhseáil ar an téacs agus a laghdú cód le haghaidh deich agus na céadta línte. Ní féidir go leor fadhbanna a réiteach ar chor ar bith gan é.

Léirithe rialta i PHP

Tá teanga PHP trí na sásraí maidir le bheith ag obair le habairtí rialta - «eReg», «mb_ereg» agus «preg». Is é an ceann is coitianta an comhéadan «preg», a bhfuil a feidhmeanna rochtain ar an leabharlann an PCRE tacaíochta slonn ionadaíochta, forbairt ar dtús don teanga Perl, atá san áireamh sa phacáiste PHP fáil. Preg-lorg feidhmeanna i meaitseáil teaghrán téacs a thugtar, de réir patrún áirithe sa teanga nathanna rialta.

Buneolas error

Mar chuid de alt gearr go bhfuil sé dodhéanta chun cur síos go mion ar an error slonn ar fad go rialta, ar an tá litríocht speisialta. Táimid i láthair ach amháin na príomhghnéithe chun deiseanna bhforbróir thaispeáint agus a thuiscint na samplaí cód.

I PHP Tá slonn ionadaíochta atá sainithe go foirmiúil an-deacair, agus dá bhrí sin a shimpliú tuairisc. Is Slonn ionadaíochta teaghrán téacs. Is éard atá ann teimpléad deighilteoir tiomnaithe agus an mionathraithe a léiríonn an mbealach a láimhseáil é. a áireamh sna roghanna éagsúla agus repetitions de phatrúin.

Mar shampla, i léiriú / \ d {3} - {2} / Is \ d m divider "/", á leanúint ag teimpléad, agus is é an tsiombail «m» an modifier - \ d {2}.

Is léir an chumhacht de shloinn ionadaíochta ionchódaithe ag baint úsáide as meta-carachtair. Is é an metacharacter phríomhtheanga an cúlslais - "\". Athraíonn sé an cineál carachtair seo a leanas ar an os coinne (ie. E. Tiontaithe isteach saoróg carachtar gnáth agus a mhalairt). Tá metacharacter tábhachtach eile is ea líne dhíreach «|» sonraíonn an teimpléad malartacha. Níos mó samplaí de meta-carachtair:

^ Tosaigh rud nó ar shraith
( Tosaigh subpattern
) subpattern deireadh
{ Tosaigh quantifier
} quantifier deireadh
\ d dhigit deachúil 0-9
\ D aon charachtar nach bhfuil uimhir
\ s siombail folamh, spás, tab,
\ w tsiombail foclóir

PHP, a phróiseáil habairtí rialta, spás a mheas mar charachtar bhailí ar leith, agus mar sin an abairt de XYZ agus ABC ÁIT atá difriúil.

subpatterns

I PHP subpatterns rialta ag lúibíní, agus tá siad ar a dtugtar uaireanta "subexpressions". A dhéanamh na feidhmeanna seo a leanas:

  1. roghanna Leithdháileadh. Mar shampla, ceanglaítear an patrún teasa (rud | Bird |) comhthráthach leis na focail "teas", "Firebird" agus "te". Agus gan na lúibíní mbeidh sé ach teaghrán folamh, "éan" agus "te".

  2. "Iontach" subpattern. Ciallaíonn sé seo go más rud é a mheaitseáil leis an patrún substring, ar ais ansin go léir cluichí. Ar mhaithe le soiléireacht, a thabhairt, mar shampla. Mar gheall ar an abairt rialta leanas: Faigheann an buaiteoir ((ór | óir plated) (bonn | cupán)) - agus an teaghrán le haghaidh cluichí, "faigheann an buaiteoir bonn óir." Chomh maith leis an abairt tosaigh, beidh na torthaí cuardaigh a eisiúint: "Bonn Óir", "boinn", "óir".

Oibreoirí repetitions (kvadrifikatory)

I thiomsú an slonn ionadaíochta is minic is gá chun anailís a dhéanamh ar an athrá na n-uimhreacha agus siombailí. Ní hé seo an fhadhb, más rud é nach go leor de na repetitions. Ach cad atá le déanamh nuair nach bhfuil a fhios againn a n-uimhir chruinn? Sa chás seo, is gá chun úsáid a bhaint metacharacters speisialta.

I gcás cur síos ar repetitions úsáidtear kvadrifikatory - metacharacters chun an líon. Kvadrifikatory Tá dhá chineál:

  • coitianta i lúibíní;
  • laghdaithe.

quantifier Tríd is tríd i dteagmháil léi ag an líon íosta agus uasta na gné repetitions cheadaítear i bhfoirm dhá uimhir sna braces, ar nós x {2,5}. Mura bhfuil an líon uasta na repetitions ar eolas, nach bhfuil an dara argóint sonraithe: x {2}.

Tá quantifiers giorraithe siombailí an ceann is coitianta de repetitions d'fhonn go seachnófar error ró-ualú gan ghá. De ghnáth, tá trí laghduithe:

1. * - náid nó níos mó repetitions, atá comhionann le {0,}.

2. + - repetitions amháin nó níos mó, is é sin, {1} ...

3.? - náid nó nach bhfuil ach amháin athuair - {0,1}.

samplaí regex

Dóibh siúd atá ag foghlaim sloinn rialta, samplaí - an téacsleabhar is fearr. Tugaimid roinnt a léiríonn a gcuid deiseanna le ar a laghad de iarracht. Tá gach cód ag luí go hiomlán le leaganacha de 4.x PHP agus os a chionn. A thuiscint go hiomlán ar an chomhréir agus úsáid gach gné teanga molaimid an leabhar ag J .. Friedl, "shloinn ionadaíochta", a mheasamar a bheith go hiomlán error, agus tá samplaí de shloinn ionadaíochta ní hamháin PHP, ach freisin le haghaidh a Python, Perl, MySQL, Java, Ruby, agus C #.

Bailíochtú Ríomhphost Seoladh

Tasc. Tá leathanach Idirlín ar a bhfuil an cuairteoir iarrtha sheoladh r-phoist. Ní mór slonn ionadaíochta a sheiceáil an cruinneas na seoltaí roimh teachtaireachtaí a sheoladh. Ní Seiceáil ráthaíocht a thabhairt go bhfuil an bosca poist sonraithe i ndáiríre agus a fhaigheann teachtaireachtaí. Ach weed amach seoltaí léir mícheart is féidir é.

Cinneadh. Mar is amhlaidh le haon teanga cláir, i PHP Is féidir r-phost-seoladh fíorú regex a chur chun feidhme ar bhealaí éagsúla, agus nach bhfuil na samplaí san Airteagal seo an rogha deiridh agus gan ach. Dá bhrí sin, i ngach cás, cuirfidh chuirimid ar fáil liosta de na ceanglais nach mór a chur san áireamh nuair ríomhchlárú agus braitheann cur i bhfeidhm ar leith go hiomlán ar an bhforbróir.

Dá bhrí sin, ciallaíonn an abairt go tástálacha r-phost bailí ba cheart, seiceáil na coinníollacha seo a leanas:

  1. Láithreacht sa tosú líne an tsiombail @, agus nach bhfuil aon bhearnaí.
  2. An chuid réimse an seoladh an tsiombail @ tá, ach carachtair bailí do ainmneacha fearainn. Ní bheidh feidhm ag an úsáideora ainm.
  3. Nuair a sheiceáil an ainm úsáideora is gá chun a chinneadh an láithreacht carachtair speisialta ar nós apostrophe nó líne ingearach. Tá siombailí den sórt fhéadfadh a bheith contúirteach agus is féidir bheith i cineálacha sin na n-ionsaithe sin SQL-instealladh. Seachain seoltaí.
  4. cheadú ainmneacha úsáideoirí ach pointe amháin, ní fhéadfaidh a bheith ar an chéad fhomhíre nó an deiridh charachtar sa téad.
  5. Ní mór don ainm fearainn a laghad dhá cheann agus nach mó ná sé carachtair.

Sampla, is féidir ag cur san áireamh gach ceann de na coinníollacha seo a fheiceáil san fhigiúr seo a leanas.

Bailíochtú na URL

Tasc. Seiceáil an bhfuil an teaghrán téacs atá sonraithe bailí seoladh URL. Uair amháin eile, tugaimid faoi deara gur féidir le habairtí rialta URL á seiceáil i bhfeidhm ar bhealaí éagsúla.

Cinneadh. Seo a leanas ár leagan deiridh:

/^(https?:\/\/)?([\da-z\.-]+)\.([az\.]{2,6})([\/\w \ .-] *) * \ /? $ /

Anois anailís a chomhpháirteanna níos mine ag baint úsáide as an líníocht.

éileamh 1 Sula níor chóir go mbeadh an URL aon carachtair
Éileamh 2 Seiceáil láthair an réimír éigeantach «http"
mír 3 Ní mór go mbeadh aon siombailí
Éileamh 4 Má tá «s», na pointí URL le ceangal daingnithe «https"
Éileamh 5 chuid riachtanach i gcás an "//"
Éileamh 6 Gan carachtair
p. 7-9 Fhíorú an bhfearann chéad leibhéal agus an láithreacht phointe
p.10-13 Fhíorú an bhfearann na scríbhneoireachta an dara leibhéal agus an pointe
p.14-17

Struchtúr Comhad URL - sraith uimhreacha, litreacha, fostríocanna, daiseanna, poncanna, agus Slais ag an deireadh

Seiceáil na uimhreacha cártaí creidmheasa

Tasc. Ní mór duit a bhailíochtú an uimhir chárta creidmheasa iontráil na gcóras íocaíochta is coitianta a chur i bhfeidhm. A mhalairt ach amháin le haghaidh cártaí Visa agus MasterCard.

Cinneadh. Nuair a chruthú ar an abairt de dhíth ort ar an láthair is féidir na bearnaí a chur san áireamh sa seomra ionchur. Na digití do cheart ar an léarscáil roinnte i ngrúpaí le haghaidh léamh agus dictation níos éasca. Dá bhrí sin, tá sé nádúrtha gur féidir le duine iarracht dul isteach uimhir an mbealach seo (ie. E. Ag baint úsáide as spásanna).

Scríobh slonn uilíoch a thógann san áireamh na spásanna nó fleiscíní féideartha is, níos casta ná shábháil go simplí ar fad carachtair seachas dhigit. Dá bhrí sin, molaimid ag baint úsáide as léiriú / D saoróg, a bhfuil deireadh gach carachtair seachas dhigit.

Anois is féidir leat dul díreach chuig an uimhir seic. Gach cuideachta, a úsáid eisitheoirí cárta creidmheasa bhformáid uimhir uathúil. Sa sampla tá sé in úsáid, agus nach bhfuil an cliant gá chun dul isteach an t-ainm na cuideachta - tá sé arna chinneadh ag an uimhir. Cártaí Visa tús i gcónaí leis na huimhreacha 4 agus le fad de 13 nó 16 digit. MasterCard Tosaíonn i raon na 51-55 le roinnt fhada 16. Mar thoradh air sin, a fháil againn an abairt seo a leanas:

Roimh a phróiseáil an t-ordú a thástáil a thuilleadh na dhigit dheireanacha den uimhir, a ríomhtar ar an algartam Luhn.

uimhir theileafóin Fíorú

Tasc. Seiceáil an cruinneas na stór iomlán isteach.

Cinneadh. Athraíonn Líon na digití sna huimhreacha teileafóin seasta agus soghluaiste ag brath go mór ar an tír, mar sin go huilíoch a sheiceáil ag baint úsáide as nathanna rialta, uimhir theileafóin dodhéanta i gceart. Ach tá líon idirnáisiúnta bhformáid go docht agus foirfe le seiceáil a dhéanamh ar an patrún. Fiú amháin níos mó ná sin go bhfuil oibreoirí teileafóin náisiúnta níos mó agus níos mó ag iarraidh chun an caighdeán céanna. Seo a leanas struchtúr Room:

+ CCC.NNNNNNNNNNxEEEE, más rud é:

- C - Is é an cód tír ina bhfuil 1-3 dhigit.

- N - uimhir suas go dtí 14 dhigit.

- E - síneadh roghnach.

Is Plus gné riachtanach, agus is é an t-comhartha X láthair ach amháin nuair is gá síneadh.

Mar thoradh air sin ní mór dúinn an abairt seo a leanas:

^ \ + [0-9] {1,3 } \ [0-9] {} 4,14. (:?. X +)? $

Na huimhreacha sa réimse

Tasc. Is gá a áirithiú slánuimhir chomhtharlú de raon áirithe. Lena chois sin, tá sé riachtanach a fháil ar slonn ionadaíochta amháin na huimhreacha as an raon.

Cinneadh. Seo roinnt léirithe ar roinnt de na cásanna is coitianta:

uair an chloig Socraigh 1-24 ^ (1 [0-2] | [1-9]) $
Lá i mí 1-31 ^ (3 [01] | [12] [0-9] | [1-9]) $
Soicind nó nóiméad 0-59 ^ [1-5]? [0-9] $
Tá roinnt 1-100 * (100 |? [1-9] [0-9]) $
Lá na bliana 1-366 ^ (36 [0-6] | 3 [0-5] [0-9] | [12] [0-9] {2} |? [1-9] [0-9]) $

Search IP-seoltaí

Tasc. Is gá chun a chinneadh an bhfuil teaghrán tugadh bailí IP-seoladh i bhformáid IPv4 sa raon ó 000.000.000.000-255.255.255.255.

Cinneadh. Mar is amhlaidh le haon fhadhb i dteanga PHP, tá leis an abairt rialta go leor varintov. Mar shampla, seo:

seiceáil ar líne slonn

Seiceáil regex gceart do is féidir thosaitheoirí a bheith deacair mar gheall ar chastacht an error, atá éagsúil teangacha cláir "rialta". Chun fhadhb seo a réiteach, tá go leor tástálaithe ar líne nathanna a dhéanann sé éasca a sheiceáil leis an cruinneas an teimpléad a cruthaíodh tú sa téacs fíor. Téann an Ríomhchláraitheoir an abairt agus fíorú sonraí agus an toirt mar thoradh ar phróiseáil. De ghnáth tá a chur i láthair ar rannóg tagartha, a shonraíonn na habairtí rialta, samplaí agus difríochtaí cur chun feidhme maidir teangacha is leathnaithe.

Ach ar sheirbhísí ar líne go hiomlán iontaoibhe torthaí Ní mholtar do na forbróirí a bhaineann úsáid as PHP. Tá Slonn ionadaíochta scríofa agus fíoraithe go pearsanta, ardaíonn cáilíocht agus ráthaíocht an easpa na n-earráidí.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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