RorohikoHōtaka

PHP (regex) - he aha te mea te reira? Tauira me te arowhai kīanga auau

A, no te mahi ki te kuputuhi i roto i tetahi reo hōtaka hou, tonu te whakatau ngā ki te whāinga o te whakamanatanga tāuru mo tautukunga ki te tauira e hiahiatia ana, rapu me te whakakapi whatiwhatinga whakamātautau me ētahi atu momo o te tukanga ngā mahi o ngā mōhiohio pūāhua. Whakawhanake koutou ake hātepe whakamana arata'i ki mate o te wā, te hototahi waehere me te matatini i roto i tona whanaketanga me te ao hou,.

Ko te whanaketanga tere o nga reo Ipurangi me te WEB-hoahoa hiahiatia te hanganga o tikanga pūkenga, me te kiato o te tukatuka kuputuhi ki te nui iti rawa e hiahiatia mō tenei waehere. Ko reira kahore okotahi me he rongonui i roto i te tīmata me ngā ngaio o te reo PHP. Ko te reo kīanga auau rite te tātauira kuputuhi ki faaohie te mahi o te whāwhā i te kuputuhi me te whakaiti i waehere mō tekau me rau o ngā rārangi. e kore e taea te whakatika maha raruraru i te katoa, kahore reira.

Kīanga Auau i roto i te PHP

He reo PHP e toru tikanga mō te mahi ki te kīanga auau - «ereg», «mb_ereg» me «preg». Ko te tino noa ko te atanga «preg», whakarato whai wāhi ki te whare pukapuka o te tautoko whakapuaki auau PCRE, whakawhanakehia tuatahi mo te reo Perl, ngā nei i roto i te mōkihi PHP nei mahi. Preg-rapu mahi i te ōrite kuputuhi string hoatu i roto i, kia rite ki te tauira etahi i roto i te reo o kīanga auau.

Basics wetereo

Hei wāhanga o te tuhinga poto e kore e taea ki te whakaahua i roto i te taipitopito katoa i te wetereo kīanga auau, hoki tenei i reira ko te tuhinga motuhake. tapaea tatou i te āhuatanga matua anake ki te whakaatu i ngā whai wāhitanga mō te kaiwhakawhanake me te matau i te tauira waehere.

I roto i te PHP te ōkawa tautuhi faaiteraa auau rawa uaua, a reira faaohie i te whakaahuatanga. He whakapuaki auau ko te aho kuputuhi. Kei a ia ko te tauira whakawehe i whakatapua, me te whakakē tohu te ara ki te hapai i te reira. whakaurunga pea i roto i te ngā ētahi me aua o ngā tauira.

Hei tauira, i roto i te faaiteraa / \ d {3} - \ d {2} - \ d {2} / m kaiwehewehe ko "/", aru e te tauira, me te tohu «m» ko te whakakē.

te mana katoa o kīanga auau te whakawaeheretia te whakamahi i meta-pūāhua. Ko te metacharacter reo matua ko te rītahamuri - "\". Taui te reira i te momo o te whai pūāhua i runga i te ritenga (ie. E. Ului ki te kārimākā pūāhua noa me te hurihia). Ko tētahi atu metacharacter nui ko te aho tika «|», āta te tātauira kē. tauira atu o meta-pūāhua:

^ Tīmata ahanoa he aho ranei
( tīmata subpattern
) subpattern whakamutunga
{ quantifier Tīmata
} quantifier whakamutunga
\ d mati ā-ira i 0 ki te 9
\ D tetahi pūāhua kore te mea e he tau
\ s tohu kau, wāhi, ripa,
\ w papakupu tohu

PHP, tukatuka kīanga auau, wāhi whakaaro rite te pūāhua whaimana motuhake, na te faaiteraa o xyz me ABC HEA e rerekē.

subpatterns

I roto i te PHP subpatterns auau i te ', a kei te te tahi mau taime i huaina ratou "subexpressions". Mahi i nga mahi e whai ake nei:

  1. whirinoa tohanga. Hei tauira, te tauira wera (te tahi mea | Bird |) hāngai ki te kupu "wera", "Firebird" me "wera". A i waho i te taiapa ka anake te mea hei string kau, "manu" me "wera".

  2. "Spectacular" subpattern. Tenei te tikanga e te mea ki āu te tauira Ahoroto, ka hoki ōritenga katoa. Hoki mārama, hoatu tatou he tauira. Homai te faaiteraa auau e whai ake nei: e tango te toa ((koura | whakakikoruatia koura) (mētara | kapu)) - me te aho mo ngā kēmu, "riro te toa he mētara koura." I tua atu ki te kīanga tuatahi, ka kia tukuna nga hua rapu: "Gold Medal", "metara", "koura".

aua ngā (kvadrifikatory)

I roto i te whakahiato i te faaiteraa auau he maha e tika ana ki te tātari i te tāruarua o ngā tau, me te tohu. e kore te mea he raruraru, ki te kahore te rota o aua tenei. Ko te aha ki te mahi, no te kahore tatou e mohio to ratou maha tangohia? I roto i tenei take, ko te mea e tika ana ki te whakamahi i metacharacters motuhake.

Hoki te whakaahuatanga o aua whakamahia kvadrifikatory - metacharacters ki whakapūtā te tau. Ko o rua ngā momo Kvadrifikatory:

  • noa i roto i te taiapa;
  • iti.

quantifier whānui pa e te tau mōkito, me te mōrahi o whakaaetia huānga aua i roto i te ahua o e rua tau i roto i te Whītiki, pērā i x {2.5}. Ki te kore te te tau mōrahi o aua mohiotia, e kore te rua o te tautohe tohua: x {2}.

He tohu mo te noa tino o aua i roto i te tikanga ki te karo turereo ngāwari faufaa quantifiers haapotohia. Ko te tikanga i reira e toru nga motu:

1. * - te kore ranei atu aua, e te mea ōrite ki {0,}.

2. + - kotahi, neke atu rānei aua, arā, {1} ...

3.? - kore ranei anake kotahi tukurua - {0,1}.

tauira regex

Hoki te hunga e ako kīanga auau, tauira - te pukapuka matua pai. hoatu matou he torutoru e whakaatu o ratou whai wāhitanga ki te iti o te kaha. Ko te tino hototahi ki putanga o PHP 4.x me runga ake waehere katoa. Hei mahino tino te wetereo, me te whakamahi o ngā āhuatanga reo katoa tūtohu tatou te pukapuka e J .. Friedl, "kīanga auau", e tino whakaaro wetereo, me i reira he tauira o kīanga auau PHP kore anake, engari ano hoki mo te maori, Perl, MySQL, Java, Ruby, ko C #.

Whakamana E-mēra wāhitau

Tūmahi. He he he whārangi Ipurangi runga i tonoa te manuhiri te īmēra wāhitau. Me tirohia faaiteraa auau te tika o te wāhitau i mua i te tuku karere. e kore e Tirohia kī e mau te vai te pouaka i tohua me te manako karere. Otiia tarutaru i roto i ngā wāhitau mārama he taea reira.

Whakatau. Ka rite ki ki tetahi reo hōtaka, i roto i PHP taea te whakatinana regex whakaū īmēra-wāhitau i roto i ara rerekē, a kahore e nga tauira i roto i tēnei tuhinga i te whiriwhiri whakamutunga, me te anake. Na reira, i roto i ia take, ka whakarato tatou he rārangi o ngā whakaritenga e hiahia ki te kia tangohia ki pūkete ka papatono me tei te whakatinanatanga tauwhāiti katoa i runga i te kaiwhakawhanake.

Ko te kupu, ko te whakapuaki i whakamatau mo te īmēra tika, kia tirohia te tikanga e whai ake nei:

  1. Te aroaro i roto i te tīmatanga raina te tohu @, a reira he kahore āputa.
  2. Ko te wāhanga rohe o te wāhitau o te tohu @, kei anake pūāhua tika mō ngā ingoa rohe. Ko te taua pā ki te ingoa o te kaiwhakamahi.
  3. A, no te arowhai i te ingoa kaiwhakamahi he tika ki te whakatau i te aroaro o pūāhua motuhake pērā i te pakini raina poutū ranei. He pea mōrearea peheé tohu me taea te roto i roto i taua momo o whakaeke e SQL-werohia. A ape i wāhitau.
  4. ingoa kaiwhakamahi tukua kotahi anake ira, e kore ai e waiho te pūāhua tuatahi whakamutunga ranei i roto i te aho.
  5. Me roto i te ingoa rohe i te iti rawa e rua, me te kore neke atu i te ono pūāhua.

Tauira, tango ki pūkete katoa o enei tikanga e taea te kite i roto i te ahua e whai ake.

Whakamana o te URL

Tūmahi. Tirohia mehemea te kuputuhi aho tohua ko te whaimana URL wāhitau. Kia ano, mōhio tatou e taea te whakatinana kīanga auau URL-arowhai i roto i ngā huarahi.

Whakatau. To tatou putanga whakamutunga ko e whai ake:

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

Na tātari ona wāhanga i roto i te taipitopito atu te whakamahi i te tuhi.

kerēme 1 I mua kahore e whai i te URL i tetahi pūāhua
kerēme 2 Tirohia te aroaro o te pīmua whakahauanga «http»
tūemi 3 Kahore Me kore tohu
kerēme 4 Ki te reira «s», te ngā URL ki te hononga pümau «https»
kerēme 5 wahi e hiahiatia ana o te "//"
kerēme 6 Kāore he pūāhua
p. 7-9 Manatoko ana i te rohe taumata tuatahi me te aroaro o te pūwāhi
p.10-13 Manatoko ana i te rohe o tuhituhi tuarua te taumata me te wāhi
p.14-17

hanganga Kōnae URL - he huinga o ngā tau, reta, ahungarua, pīhono, ira, me te rītaha i te mutunga

Tirohia te tau kāri nama

Tūmahi. Me koe ki te whakatinana i whakamana o te tau kāri nama tomo o te pūnaha utu tino noa. He kē anake hoki kāri Visa ko MasterCard.

Whakatau. A, no te hanga i te faaiteraa e hiahia ana koe ki te tango i ki pūkete te aroaro o āputa taea i roto i te ruma tāuru. Kua wehea nga mati i runga i te mahere ki ngā rōpū mō te pānui māmā me te takinga. Na reira, ko te reira maori e taea te tangata ngana ki te tomo i te maha i roto i tenei ara (ie. E. Mā te wāhi).

Tuhia he kīanga ao e tango ki pūkete te mokowā ranei tohuwehe taea, he uaua ake atu i tūraki noa pūāhua katoa anake mati. Na reira, ka tūtohu mātou te whakamahi i te kārimākā faaiteraa / D, e tango pūāhua katoa anake mati.

Na ka taea e haere koe tika ki te tau taki. kamupene katoa, whakamahi kaituku kāri nama te hōputu tau ahurei. I roto i te tauira kua whakamahia reira, a e kore e te kiritaki e hiahia ana ki te tomo i te ingoa o te kamupene - te mea i whakaritea e te maha. timata tonu kāri visa ki nga tau 4 me te whai i te roa o 13 16 ranei mati. haamata MasterCard i te whānuitanga o 51-55 ki te tau te roa 16. Ka rite ki te hua, te tiki matou te kīanga e whai ake nei:

I mua i te tukanga i te tikanga e taea te whakamatauria atu nga mati whakamutunga o te tau, tatau nei i runga i te hātepe Luhn.

Manatoko ana tau waea

Tūmahi. Taki te tika o te tau waea tomo.

Whakatau. Ko te tokomaha o ngā mati i roto i te tau waea whakaritea, me te pūkoro tēnā tino i runga i te whenua, pera hurinoa tirohia whakamahi kīanga auau, te tau waea tika taea. Ko tau ao i te hōputu tino, me te tino tika mō te arowhai i te tauira. Ahakoa atu kia e tamata atu me te ake ngā waea motu ki te whakatau i te paerewa kotahi. hanganga Room ko e whai ake:

+ CCC.NNNNNNNNNNxEEEE, te wahi:

- C - ko te waehere whenua arā o 1-3 mati.

- N - tau ki runga ki te 14 mati.

- E - toronga kōwhiringa.

Plus Ko te huānga mahuinga ia, a he reira anake ka hiahiatia toronga te tohu X.

Ka rite ki te hua to tatou i te kīanga e whai ake nei:

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

Ko te tau i roto i te awhe

Tūmahi. He mea tika ki te whakarite tāpiritanga tau tōpū o te whānuitanga etahi. I tua atu, he mea e tika ana ki te kitea te faaiteraa auau nga tau anake i te awhe.

Whakatau. Tenei ko te torutoru faaiteraa ki etahi o nga take tino noa:

Whakatau haora i te 1 ki te 24 ^ (1 [0-2] | [1-9]) $
Ra i roto i te marama 1-31 ^ (3 [01] | [12] [0-9] | [1-9]) $
Hēkona meneti 0-59 ranei ^ [1-5]? [0-9] $
He tau i 1 ki te 100 * (100 |? [1-9] [0-9]) $
Ra o te tau 1-366 ^ (36 [0-6] | 3 [0-5] [0-9] | [12] [0-9] {2} |? [1-9] [0-9]) $

Rapu IP-wāhitau

Tūmahi. Ko reira e tika ana ki te whakatau mehemea he aho homai ko te tika IP-wāhitau i roto i te hōputu IPv4 i te whānui i 000.000.000.000-255.255.255.255.

Whakatau. Ka rite ki ki tetahi raruraru i roto i te reo o PHP, te faaiteraa auau he maha varintov. Hei tauira, tenei:

arowhai Online o kīanga

Tirohia regex tika hoki e taea tīmata kia uaua no te mea o te whīwhiwhi o te wetereo, i rerekē i ngā reo hōtaka "auau". Hei whakaoti i tēnei raruraru, i reira e maha testers ipurangi kīanga e hanga e mea ohie ki tirohia te tika o te tauira i hanga e koe i roto i te kuputuhi tūturu. Ko te rorohiko e tomo te faaiteraa me whakaū raraunga, me te tonu kite te hua o te tukatuka. Ko te tikanga i reira he tapae he wāhanga tohutoro, e ngā te kīanga auau, tauira me ngā rerekētanga whakatinanatanga mo te reo tino roa.

Otiia ki tino whakawhirinaki ratonga ipurangi hua kore tūtohutia hoki ngā katoa e whakamahi PHP. He faaiteraa auau te tuhituhia me te manatoko tangata i roto i, whakaara ake tohu, me te kī i te ngaro o ngā hapa.

Similar articles

 

 

 

 

Trending Now

 

 

 

 

Newest

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