Rorohiko, Hō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:
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".
"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:
- Te aroaro i roto i te tīmatanga raina te tohu @, a reira he kahore āputa.
- 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.
- 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.
- ingoa kaiwhakamahi tukua kotahi anake ira, e kore ai e waiho te pūāhua tuatahi whakamutunga ranei i roto i te aho.
- 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